Packages

object AmqpRpcFlow

Source
AmqpRpcFlow.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AmqpRpcFlow
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def atMostOnceFlow(settings: AmqpWriteSettings, bufferSize: Int, repliesPerMessage: Int = 1): Flow[WriteMessage, ReadResult, Future[String]]

    Scala API: Convenience for "at-most once delivery" semantics.

    Scala API: Convenience for "at-most once delivery" semantics. Each message is acked to RabbitMQ before it is emitted downstream.

  2. def committableFlow(settings: AmqpWriteSettings, bufferSize: Int, repliesPerMessage: Int = 1): Flow[WriteMessage, CommittableReadResult, Future[String]]

    Scala API: The committableFlow makes it possible to commit (ack/nack) messages to RabbitMQ.

    Scala API: The committableFlow makes it possible to commit (ack/nack) messages to RabbitMQ. This is useful when "at-least once delivery" is desired, as each message will likely be delivered one time but in failure cases could be duplicated.

    If you commit the offset before processing the message you get "at-most once delivery" semantics, and for that there is a #atMostOnceFlow.

    Compared to auto-commit, this gives exact control over when a message is considered consumed.

  3. def simple(settings: AmqpWriteSettings, repliesPerMessage: Int = 1): Flow[ByteString, ByteString, Future[String]]

    Scala API: Create an RPC style flow for processing and communicating over a rabbitmq message bus.

    Scala API: Create an RPC style flow for processing and communicating over a rabbitmq message bus. This will create a private queue, and add the reply-to header to messages sent out.

    This stage materializes to a Future[String], which is the name of the private exclusive queue used for RPC communication.

    repliesPerMessage

    The number of responses that should be expected for each message placed on the queue. This can be overridden per message by including expectedReplies in the the header of the WriteMessage