com.spingo.op_rabbit.stream
A MessagePublisherSink (an AckedSink) publishes each input Message, and either acks or fails the upstream element, depending on ConfirmResponse.
Using a RabbitSource with a MessagePublisherSink is a great way to get persistent, recoverable streams.
Note - MessagePublisherSink uses ActorPublisher and due to AkkaStream limitations, it DOES NOT abide your configured supervisor strategy.
After the sink publishes the Message, it listens for the Message.ConfirmResponse, and handles it accordingly:
This sinks materialized type is Future[Unit]. The following applies:
An actor
The duration for which we'll wait for a message to be acked; note, timeouts and non-acknowledged messages will cause the upstream elements to fail. The sink will not throw an exception.
A MessagePublisherSink (an AckedSink) publishes each input Message, and either acks or fails the upstream element, depending on ConfirmResponse.
Using a RabbitSource with a MessagePublisherSink is a great way to get persistent, recoverable streams.
Note - MessagePublisherSink uses ActorPublisher and due to AkkaStream limitations, it DOES NOT abide your configured supervisor strategy.
Message.ConfirmResponse handling
After the sink publishes the Message, it listens for the Message.ConfirmResponse, and handles it accordingly:
Future[Unit] materialized type:
This sinks materialized type is Future[Unit]. The following applies: