Packages

object AmqpFlow

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

Value Members

  1. def create(settings: AmqpWriteSettings): Flow[WriteMessage, WriteResult, CompletionStage[Done]]

    Creates an AmqpFlow that accepts WriteMessage elements and emits WriteResult.

    Creates an AmqpFlow that accepts WriteMessage elements and emits WriteResult.

    This variant of AmqpFlow publishes messages in a fire-and-forget manner, hence all emitted WriteResults have confirmed flag set to true.

    This stage materializes to a CompletionStage of Done, which can be used to know when the Flow completes, either normally or because of an amqp failure.

    settings

    bufferSize and confirmationTimeout properties are ignored by this connector

  2. def createWithConfirm(settings: AmqpWriteSettings): Flow[WriteMessage, WriteResult, CompletionStage[Done]]

    Creates an AmqpFlow that accepts WriteMessage elements and emits WriteResult.

    Creates an AmqpFlow that accepts WriteMessage elements and emits WriteResult.

    This variant of AmqpFlow asynchronously waits for message confirmations. Maximum number of messages simultaneously waiting for confirmation before signaling backpressure is configured with a bufferSize parameter. Emitted results preserve the order of messages pulled from upstream - due to that restriction this flow is expected to be slightly less effective than it's unordered counterpart.

    In case of upstream failure/finish this stage attempts to process all buffered messages (waiting for confirmation) before propagating failure/finish downstream.

    This stage materializes to a CompletionStage of Done, which can be used to know when the Flow completes, either normally or because of an amqp failure.

    NOTE: This connector uses RabbitMQ's extension to AMQP protocol (Publisher Confirms), therefore it is not supposed to be used with another AMQP brokers.

  3. def createWithConfirmAndPassThroughUnordered[T](settings: AmqpWriteSettings): Flow[Pair[WriteMessage, T], Pair[WriteResult, T], CompletionStage[Done]]

    Variant of AmqpFlow.createWithConfirmUnordered with additional support for pass-through elements.

    Variant of AmqpFlow.createWithConfirmUnordered with additional support for pass-through elements.

    See also

    AmqpFlow.createWithConfirmUnordered NOTE: This connector uses RabbitMQ's extension to AMQP protocol (Publisher Confirms), therefore it is not supposed to be used with another AMQP brokers.

  4. def createWithConfirmUnordered(settings: AmqpWriteSettings): Flow[WriteMessage, WriteResult, CompletionStage[Done]]

    Creates an AmqpFlow that accepts WriteMessage elements and emits WriteResult.

    Creates an AmqpFlow that accepts WriteMessage elements and emits WriteResult.

    This variant of AmqpFlow asynchronously waits for message confirmations. Maximum number of messages simultaneously waiting for confirmation before signaling backpressure is configured with a bufferSize parameter. Results are emitted downstream as soon as confirmation is received, meaning that there is no ordering guarantee of any sort.

    In case of upstream failure/finish this stage attempts to process all buffered messages (waiting for confirmation) before propagating failure/finish downstream.

    This stage materializes to a CompletionStage of Done, which can be used to know when the Flow completes, either normally or because of an amqp failure.

    NOTE: This connector uses RabbitMQ's extension to AMQP protocol (Publisher Confirms), therefore it is not supposed to be used with another AMQP brokers.