Class RabbitStreamMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.cloud.stream.binder.rabbit.RabbitStreamMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle,org.springframework.core.Ordered,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.Orderable,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,org.springframework.messaging.MessageHandler,reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>
public class RabbitStreamMessageHandler
extends org.springframework.integration.handler.AbstractMessageHandler
implements org.springframework.context.Lifecycle
MessageHandler based on RabbitStreamOperations.
TODO: This class will move to Spring Integration in 6.0.- Since:
- 3.2
- Author:
- Gary Russell
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceCallback for when publishing fails.Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionRabbitStreamMessageHandler(org.springframework.rabbit.stream.producer.RabbitStreamOperations streamOperations) Create an instance with the providedRabbitStreamOperations. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.rabbit.stream.producer.RabbitStreamOperationsReturn theRabbitStreamOperations.protected voidhandleMessageInternal(org.springframework.messaging.Message<?> requestMessage) booleanvoidsetConfirmTimeout(long confirmTimeout) Set the confirm timeout.voidsetFailureCallback(RabbitStreamMessageHandler.FailureCallback failureCallback) Set a callback to be invoked when a send fails.voidsetHeaderMapper(org.springframework.integration.amqp.support.AmqpHeaderMapper headerMapper) Set a customAmqpHeaderMapperfor mapping request and reply headers.voidsetHeadersMappedLast(boolean headersMappedLast) When mapping headers for the outbound message, determine whether the headers are mapped before the message is converted, or afterwards.voidsetSuccessCallback(org.springframework.util.concurrent.SuccessCallback<org.springframework.messaging.Message<?>> successCallback) Set a callback to be invoked when a send is successful.voidsetSync(boolean sync) Set to true to wait for a confirmation.voidstart()voidstop()Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribeMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, onInit, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
RabbitStreamMessageHandler
public RabbitStreamMessageHandler(org.springframework.rabbit.stream.producer.RabbitStreamOperations streamOperations) Create an instance with the providedRabbitStreamOperations.- Parameters:
streamOperations- the operations.
-
-
Method Details
-
setSuccessCallback
public void setSuccessCallback(org.springframework.util.concurrent.SuccessCallback<org.springframework.messaging.Message<?>> successCallback) Set a callback to be invoked when a send is successful.- Parameters:
successCallback- the callback.
-
setFailureCallback
Set a callback to be invoked when a send fails.- Parameters:
failureCallback- the callback.
-
setSync
public void setSync(boolean sync) Set to true to wait for a confirmation.- Parameters:
sync- true to wait.- See Also:
-
setConfirmTimeout
public void setConfirmTimeout(long confirmTimeout) Set the confirm timeout.- Parameters:
confirmTimeout- the timeout.- See Also:
-
setHeaderMapper
public void setHeaderMapper(org.springframework.integration.amqp.support.AmqpHeaderMapper headerMapper) Set a customAmqpHeaderMapperfor mapping request and reply headers. Defaults toDefaultAmqpHeaderMapper.outboundMapper().- Parameters:
headerMapper- theAmqpHeaderMapperto use.
-
setHeadersMappedLast
public void setHeadersMappedLast(boolean headersMappedLast) When mapping headers for the outbound message, determine whether the headers are mapped before the message is converted, or afterwards. This only affects headers that might be added by the message converter. When false, the converter's headers win; when true, any headers added by the converter will be overridden (if the source message has a header that maps to those headers). You might wish to set this to true, for example, when using aSimpleMessageConverterwith a String payload that contains json; the converter will set the content type totext/plainwhich can be overridden toapplication/jsonby setting theAmqpHeaders.CONTENT_TYPEmessage header. Default: false.- Parameters:
headersMappedLast- true if headers are mapped after conversion.
-
getStreamOperations
public org.springframework.rabbit.stream.producer.RabbitStreamOperations getStreamOperations()Return theRabbitStreamOperations.- Returns:
- the operations.
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> requestMessage) - Specified by:
handleMessageInternalin classorg.springframework.integration.handler.AbstractMessageHandler
-
start
public void start()- Specified by:
startin interfaceorg.springframework.context.Lifecycle
-
stop
public void stop()- Specified by:
stopin interfaceorg.springframework.context.Lifecycle
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceorg.springframework.context.Lifecycle
-