reactive-rabbit, AMQP协议的反应性流 由RabbitMQ库供电

分享于 

5分钟阅读

GitHub

  繁體 雙語
Reactive Rabbit
  • 源代码名称:reactive-rabbit
  • 源代码网址:http://www.github.com/ScalaConsultants/reactive-rabbit
  • reactive-rabbit源代码文档
  • reactive-rabbit源代码下载
  • Git URL:
    git://www.github.com/ScalaConsultants/reactive-rabbit.git
    Git Clone代码到本地:
    git clone http://www.github.com/ScalaConsultants/reactive-rabbit
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/ScalaConsultants/reactive-rabbit
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    实时React流:AMQP

    Join the chat at https://gitter.im/ScalaConsultants/reactive-rabbit

    Build Status

    AMQP协议的React流驱动。 由 RabbitMQ 库供电。

    可以在 Maven 中心获得 Scala 2.11和 2.12:

    
    libraryDependencies +="io.scalac" %%"reactive-rabbit" %"1.1.4"
    
    
    
    

    示例

    Akka流- 2.4.12
    importakka.actor.ActorSystemimportakka.stream.ActorMaterializerimportakka.stream.scaladsl.{Sink, Source}importio.scalac.amqp.Connection// streaming invoices to Accounting Departmentvalconnection=Connection()// create org.reactivestreams.Publishervalqueue= connection.consume(queue ="invoices")// create org.reactivestreams.Subscribervalexchange= connection.publish(exchange ="accounting_department",
     routingKey ="invoices")implicitvalsystem=ActorSystem()implicitvalmat=ActorMaterializer()// Run akka-streams with queue as Source and exchange as SinkSource.fromPublisher(queue).map(_.message).runWith(Sink.fromSubscriber(exchange))

    API文档

    运行 sbt doc 和打开 target/scala-2.12/index.html.

    设置

    有 3个用于传递AMQP设置的选项:

    Connection()
    • 以编程方式使用 Config
    Connection(config : Config)
    • 以编程方式使用 ConnectionSettings
    Connection(settings: ConnectionSettings)

    ConnectionSettings 具有以下属性:

    • addresses: Seq[Address] 代理地址( 主机名/端口对) 以尝试顺序。 恢复过程中随机挑选一个。
    • 连接到代理时使用的virtualHost: String 虚拟主机。
    • 连接到代理时使用的username: String 用户名。
    • 连接到代理时使用的password: String 密码。
    • heartbeat: Option[FiniteDuration] 请求的心跳间隔,至少 1秒。 None 以禁用心跳。
    • timeout: Duration 默认连接超时,至少 1毫秒。
    • automaticRecovery: Boolean 启用自动连接恢复。 未恢复订阅。
    • recoveryInterval: FiniteDuration 在尝试重新连接之前,自动恢复等待多长时间。
    • ssl: Option[String] 允许使用SSL连接到代理。 有效值依赖于 JRE,请参见 possiblities。 最近的RabbitMQ服务器不允许 SSL3。

    拨号连接

    连接特性API有两种方法: 管理AMQP基础设施( IE。 声明和删除交换,队列和绑定,并创建ReactiveStreams实体: PublisherSubscriber
    consume(queue, prefetch) - 为来自 queue的消息创建 DeliveryPublisher
    publish(exchange, routingKey) - 创建采用 Message 流的Subscription,该流将被发送到 exchange,并将它的固定 routingKey 发送到。
    publish(exchange) - 为 Routed ( Message 和路由密钥的元组) 创建 Subscription


    str  react  Drive  proto  protocol  protoc  
    相关文章