Class RabbitStreamMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.amqp.outbound.RabbitStreamMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>
,Aware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,InitializingBean
,ApplicationContextAware
,Ordered
,ExpressionCapable
,Orderable
,IntegrationPattern
,NamedComponent
,IntegrationManagement
,TrackableComponent
,MessageHandler
,reactor.core.CoreSubscriber<Message<?>>
MessageHandler
based on RabbitStreamOperations
.- Since:
- 6.0
- Author:
- Gary Russell, Chris Bono
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides
-
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger
Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionRabbitStreamMessageHandler
(RabbitStreamOperations streamOperations) Create an instance with the providedRabbitStreamOperations
. -
Method Summary
Modifier and TypeMethodDescriptionprotected MessageChannel
protected MessageChannel
Return theRabbitStreamOperations
.protected void
handleMessageInternal
(Message<?> requestMessage) void
setConfirmTimeout
(long confirmTimeout) Set the confirm timeout.void
setHeaderMapper
(AmqpHeaderMapper headerMapper) Set a customAmqpHeaderMapper
for mapping request and reply headers.void
setHeadersMappedLast
(boolean headersMappedLast) When mapping headers for the outbound message, determine whether the headers are mapped before the message is converted, or afterwards.void
setSendFailureChannel
(MessageChannel sendFailureChannel) Set the failure channel.void
setSendFailureChannelName
(String sendFailureChannelName) Set the failure channel name.void
setSendSuccessChannel
(MessageChannel sendSuccessChannel) Set the success channel.void
setSendSuccessChannelName
(String sendSuccessChannelName) Set the Success channel name.void
setSync
(boolean sync) Set to true to wait for a confirmation.Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention
Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
Methods 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, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface reactor.core.CoreSubscriber
currentContext
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAs
Methods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
RabbitStreamMessageHandler
Create an instance with the providedRabbitStreamOperations
.- Parameters:
streamOperations
- the operations.
-
-
Method Details
-
setSendFailureChannel
Set the failure channel. After a send failure, anErrorMessage
will be sent to this channel with a payload of the exception with the failed message.- Parameters:
sendFailureChannel
- the failure channel.
-
setSendFailureChannelName
Set the failure channel name. After a send failure, anErrorMessage
will be sent to this channel with a payload of the exception with the failed message.- Parameters:
sendFailureChannelName
- the failure channel name.
-
setSendSuccessChannel
Set the success channel.- Parameters:
sendSuccessChannel
- the success channel.
-
setSendSuccessChannelName
Set the Success channel name.- Parameters:
sendSuccessChannelName
- the success channel name.
-
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
Set a customAmqpHeaderMapper
for mapping request and reply headers. Defaults toDefaultAmqpHeaderMapper.outboundMapper()
.- Parameters:
headerMapper
- theAmqpHeaderMapper
to 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 aSimpleMessageConverter
with a String payload that contains json; the converter will set the content type totext/plain
which can be overridden toapplication/json
by setting theAmqpHeaders.CONTENT_TYPE
message header. Default: false.- Parameters:
headersMappedLast
- true if headers are mapped after conversion.
-
getStreamOperations
Return theRabbitStreamOperations
.- Returns:
- the operations.
-
getSendFailureChannel
-
getSendSuccessChannel
-
handleMessageInternal
- Specified by:
handleMessageInternal
in classAbstractMessageHandler
-