Package io.atleon.rabbitmq
Class AloRabbitMQSender<T>
- java.lang.Object
-
- io.atleon.rabbitmq.AloRabbitMQSender<T>
-
- Type Parameters:
T- outbound message body type (to be serialized)
public class AloRabbitMQSender<T> extends Object
A reactive RabbitMQ sender with at-least-once semantics for producing messages to exchanges in a RabbitMQ cluster
-
-
Field Summary
Fields Modifier and Type Field Description static StringBODY_SERIALIZER_CONFIGAn implementation ofBodySerializerused to serialize message bodiesstatic StringCONFIG_PREFIXPrefix used on all AloRabbitMQSender-specific configurationsstatic StringINTERCEPTORS_CONFIGOptional List (comma separated orList) of implementations ofRabbitMQMessageSendInterceptor(by class name) to apply to outboundRabbitMQMessages
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> AloRabbitMQSender<T>from(RabbitMQConfigSource configSource)Function<org.reactivestreams.Publisher<io.atleon.core.Alo<T>>,io.atleon.core.AloFlux<RabbitMQSenderResult<T>>>sendAloBodies(RabbitMQMessageCreator<T> messageCreator)io.atleon.core.AloFlux<RabbitMQSenderResult<T>>sendAloBodies(org.reactivestreams.Publisher<io.atleon.core.Alo<T>> aloBodies, RabbitMQMessageCreator<T> messageCreator)io.atleon.core.AloFlux<RabbitMQSenderResult<RabbitMQMessage<T>>>sendAloMessages(org.reactivestreams.Publisher<io.atleon.core.Alo<RabbitMQMessage<T>>> aloMessages)Function<org.reactivestreams.Publisher<T>,reactor.core.publisher.Flux<RabbitMQSenderResult<T>>>sendBodies(RabbitMQMessageCreator<T> messageCreator)reactor.core.publisher.Flux<RabbitMQSenderResult<T>>sendBodies(org.reactivestreams.Publisher<T> bodies, RabbitMQMessageCreator<T> messageCreator)reactor.core.publisher.Flux<RabbitMQSenderResult<RabbitMQMessage<T>>>sendMessages(org.reactivestreams.Publisher<RabbitMQMessage<T>> messages)
-
-
-
Field Detail
-
CONFIG_PREFIX
public static final String CONFIG_PREFIX
Prefix used on all AloRabbitMQSender-specific configurations- See Also:
- Constant Field Values
-
INTERCEPTORS_CONFIG
public static final String INTERCEPTORS_CONFIG
Optional List (comma separated orList) of implementations ofRabbitMQMessageSendInterceptor(by class name) to apply to outboundRabbitMQMessages- See Also:
- Constant Field Values
-
BODY_SERIALIZER_CONFIG
public static final String BODY_SERIALIZER_CONFIG
An implementation ofBodySerializerused to serialize message bodies- See Also:
- Constant Field Values
-
-
Method Detail
-
from
public static <T> AloRabbitMQSender<T> from(RabbitMQConfigSource configSource)
-
sendBodies
public Function<org.reactivestreams.Publisher<T>,reactor.core.publisher.Flux<RabbitMQSenderResult<T>>> sendBodies(RabbitMQMessageCreator<T> messageCreator)
-
sendBodies
public reactor.core.publisher.Flux<RabbitMQSenderResult<T>> sendBodies(org.reactivestreams.Publisher<T> bodies, RabbitMQMessageCreator<T> messageCreator)
-
sendMessages
public reactor.core.publisher.Flux<RabbitMQSenderResult<RabbitMQMessage<T>>> sendMessages(org.reactivestreams.Publisher<RabbitMQMessage<T>> messages)
-
sendAloBodies
public Function<org.reactivestreams.Publisher<io.atleon.core.Alo<T>>,io.atleon.core.AloFlux<RabbitMQSenderResult<T>>> sendAloBodies(RabbitMQMessageCreator<T> messageCreator)
-
sendAloBodies
public io.atleon.core.AloFlux<RabbitMQSenderResult<T>> sendAloBodies(org.reactivestreams.Publisher<io.atleon.core.Alo<T>> aloBodies, RabbitMQMessageCreator<T> messageCreator)
-
sendAloMessages
public io.atleon.core.AloFlux<RabbitMQSenderResult<RabbitMQMessage<T>>> sendAloMessages(org.reactivestreams.Publisher<io.atleon.core.Alo<RabbitMQMessage<T>>> aloMessages)
-
-