public abstract class AbstractAmqpOutboundEndpoint
extends org.springframework.integration.handler.AbstractReplyProducingMessageHandler
implements org.springframework.context.Lifecycle
| Modifier and Type | Class and Description |
|---|---|
protected static class |
AbstractAmqpOutboundEndpoint.CorrelationDataWrapper |
messagingTemplateEXPRESSION_PARSER, logger| Constructor and Description |
|---|
AbstractAmqpOutboundEndpoint() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addDelayProperty(org.springframework.messaging.Message<?> message,
org.springframework.amqp.core.Message amqpMessage) |
protected org.springframework.integration.support.AbstractIntegrationMessageBuilder<?> |
buildReply(org.springframework.amqp.support.converter.MessageConverter converter,
org.springframework.amqp.core.Message amqpReplyMessage) |
protected org.springframework.messaging.Message<?> |
buildReturnedMessage(org.springframework.amqp.core.Message message,
int replyCode,
java.lang.String replyText,
java.lang.String exchange,
java.lang.String routingKey,
org.springframework.amqp.support.converter.MessageConverter converter) |
protected void |
doInit() |
protected void |
doStart() |
protected void |
doStop() |
protected void |
endpointInit()
Subclasses can override to perform any additional initialization.
|
protected org.springframework.amqp.rabbit.support.CorrelationData |
generateCorrelationData(org.springframework.messaging.Message<?> requestMessage) |
protected java.lang.String |
generateExchangeName(org.springframework.messaging.Message<?> requestMessage) |
protected java.lang.String |
generateRoutingKey(org.springframework.messaging.Message<?> requestMessage) |
protected org.springframework.messaging.MessageChannel |
getConfirmAckChannel() |
protected org.springframework.expression.Expression |
getConfirmCorrelationExpression() |
protected org.springframework.messaging.MessageChannel |
getConfirmNackChannel() |
protected org.springframework.integration.handler.ExpressionEvaluatingMessageProcessor<java.lang.Object> |
getCorrelationDataGenerator() |
protected org.springframework.amqp.core.MessageDeliveryMode |
getDefaultDeliveryMode() |
protected java.lang.String |
getExchangeName() |
protected org.springframework.expression.Expression |
getExchangeNameExpression() |
protected org.springframework.integration.handler.ExpressionEvaluatingMessageProcessor<java.lang.String> |
getExchangeNameGenerator() |
protected AmqpHeaderMapper |
getHeaderMapper() |
protected org.springframework.messaging.MessageChannel |
getReturnChannel() |
protected java.lang.String |
getRoutingKey() |
protected org.springframework.expression.Expression |
getRoutingKeyExpression() |
protected org.springframework.integration.handler.ExpressionEvaluatingMessageProcessor<java.lang.String> |
getRoutingKeyGenerator() |
protected void |
handleConfirm(org.springframework.amqp.rabbit.support.CorrelationData correlationData,
boolean ack,
java.lang.String cause) |
protected boolean |
isHeadersMappedLast() |
protected boolean |
isLazyConnect() |
boolean |
isRunning() |
void |
setConfirmAckChannel(org.springframework.messaging.MessageChannel ackChannel)
Set the channel to which acks are send (publisher confirms).
|
void |
setConfirmAckChannelName(java.lang.String ackChannelName)
Set the channel name to which acks are send (publisher confirms).
|
void |
setConfirmCorrelationExpression(org.springframework.expression.Expression confirmCorrelationExpression)
Set a SpEL expression to evaluate confirm correlation at runtime.
|
void |
setConfirmCorrelationExpressionString(java.lang.String confirmCorrelationExpression)
Set a SpEL expression to evaluate confirm correlation at runtime.
|
void |
setConfirmNackChannel(org.springframework.messaging.MessageChannel nackChannel)
Set the channel to which nacks are send (publisher confirms).
|
void |
setConfirmNackChannelName(java.lang.String nackChannelName)
Set the channel name to which nacks are send (publisher confirms).
|
protected void |
setConnectionFactory(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory) |
void |
setDefaultDeliveryMode(org.springframework.amqp.core.MessageDeliveryMode defaultDeliveryMode)
Set the default delivery mode.
|
void |
setDelay(int delay)
Set the value to set in the
x-delay header when using the
RabbitMQ delayed message exchange plugin. |
void |
setDelayExpression(org.springframework.expression.Expression delayExpression)
Set the SpEL expression to calculate the
x-delay header when using the
RabbitMQ delayed message exchange plugin. |
void |
setDelayExpressionString(java.lang.String delayExpression)
Set the SpEL expression to calculate the
x-delay header when using the
RabbitMQ delayed message exchange plugin. |
void |
setErrorMessageStrategy(org.springframework.integration.support.ErrorMessageStrategy errorMessageStrategy)
Set the error message strategy to use for returned (or negatively confirmed)
messages.
|
void |
setExchangeName(java.lang.String exchangeName)
Configure an AMQP exchange name for sending messages.
|
void |
setExchangeNameExpression(org.springframework.expression.Expression exchangeNameExpression)
Configure a SpEL expression to evaluate an exchange name at runtime.
|
void |
setExchangeNameExpressionString(java.lang.String exchangeNameExpression) |
void |
setHeaderMapper(AmqpHeaderMapper headerMapper)
Set a custom
AmqpHeaderMapper 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 |
setLazyConnect(boolean lazyConnect)
Set to
false to attempt to connect during endpoint start;
default true, meaning the connection will be attempted
to be established on the arrival of the first message. |
void |
setReturnChannel(org.springframework.messaging.MessageChannel returnChannel)
Set the channel to which returned messages are sent.
|
void |
setRoutingKey(java.lang.String routingKey)
Configure an AMQP routing key for sending messages.
|
void |
setRoutingKeyExpression(org.springframework.expression.Expression routingKeyExpression) |
void |
setRoutingKeyExpressionString(java.lang.String routingKeyExpression) |
void |
start() |
void |
stop() |
doInvokeAdvisedRequestHandler, getRequiresReply, handleMessageInternal, handleRequestMessage, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyaddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersconfigureMetrics, getActiveCount, getActiveCountLong, getComponentType, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onComplete, onError, onNext, onSubscribe, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabledafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic void setHeaderMapper(AmqpHeaderMapper headerMapper)
AmqpHeaderMapper for mapping request and reply headers.
Defaults to DefaultAmqpHeaderMapper.outboundMapper().headerMapper - the AmqpHeaderMapper to use.public void setHeadersMappedLast(boolean headersMappedLast)
SimpleMessageConverter with a
String payload that contains json; the converter will set the content type to
text/plain which can be overridden to application/json by setting
the AmqpHeaders.CONTENT_TYPE message header. Default: false.headersMappedLast - true if headers are mapped after conversion.public void setExchangeName(java.lang.String exchangeName)
exchangeName - the exchange name for sending messages.public void setExchangeNameExpression(org.springframework.expression.Expression exchangeNameExpression)
exchangeNameExpression - the expression to use.public void setExchangeNameExpressionString(java.lang.String exchangeNameExpression)
exchangeNameExpression - the String in SpEL syntax.public void setRoutingKey(java.lang.String routingKey)
routingKey - the routing key to usepublic void setRoutingKeyExpression(org.springframework.expression.Expression routingKeyExpression)
routingKeyExpression - the expression to use.public void setRoutingKeyExpressionString(java.lang.String routingKeyExpression)
routingKeyExpression - the String in SpEL syntax.public void setConfirmCorrelationExpression(org.springframework.expression.Expression confirmCorrelationExpression)
confirmCorrelationExpression - the expression to use.public void setConfirmCorrelationExpressionString(java.lang.String confirmCorrelationExpression)
confirmCorrelationExpression - the String in SpEL syntax.public void setConfirmAckChannel(org.springframework.messaging.MessageChannel ackChannel)
ackChannel - the channel.public void setConfirmAckChannelName(java.lang.String ackChannelName)
ackChannelName - the channel name.public void setConfirmNackChannel(org.springframework.messaging.MessageChannel nackChannel)
nackChannel - the channel.public void setConfirmNackChannelName(java.lang.String nackChannelName)
nackChannelName - the channel name.public void setReturnChannel(org.springframework.messaging.MessageChannel returnChannel)
returnChannel - the channel.public void setDefaultDeliveryMode(org.springframework.amqp.core.MessageDeliveryMode defaultDeliveryMode)
defaultDeliveryMode - the delivery mode.public void setLazyConnect(boolean lazyConnect)
false to attempt to connect during endpoint start;
default true, meaning the connection will be attempted
to be established on the arrival of the first message.lazyConnect - the lazyConnect to setpublic void setDelay(int delay)
x-delay header when using the
RabbitMQ delayed message exchange plugin. By default, the AmqpHeaders.DELAY
header (if present) is mapped; setting the delay here overrides that value.delay - the delay.public void setDelayExpression(org.springframework.expression.Expression delayExpression)
x-delay header when using the
RabbitMQ delayed message exchange plugin. By default, the AmqpHeaders.DELAY
header (if present) is mapped; setting the expression here overrides that value.delayExpression - the expression.public void setDelayExpressionString(java.lang.String delayExpression)
x-delay header when using the
RabbitMQ delayed message exchange plugin. By default, the AmqpHeaders.DELAY
header (if present) is mapped; setting the expression here overrides that value.delayExpression - the expression.public void setErrorMessageStrategy(org.springframework.integration.support.ErrorMessageStrategy errorMessageStrategy)
errorMessageStrategy - the strategy.protected final void setConnectionFactory(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory)
protected java.lang.String getExchangeName()
protected java.lang.String getRoutingKey()
protected org.springframework.expression.Expression getExchangeNameExpression()
protected org.springframework.expression.Expression getRoutingKeyExpression()
protected org.springframework.integration.handler.ExpressionEvaluatingMessageProcessor<java.lang.String> getRoutingKeyGenerator()
protected org.springframework.integration.handler.ExpressionEvaluatingMessageProcessor<java.lang.String> getExchangeNameGenerator()
protected AmqpHeaderMapper getHeaderMapper()
protected org.springframework.expression.Expression getConfirmCorrelationExpression()
protected org.springframework.integration.handler.ExpressionEvaluatingMessageProcessor<java.lang.Object> getCorrelationDataGenerator()
protected org.springframework.messaging.MessageChannel getConfirmAckChannel()
protected org.springframework.messaging.MessageChannel getConfirmNackChannel()
protected org.springframework.messaging.MessageChannel getReturnChannel()
protected org.springframework.amqp.core.MessageDeliveryMode getDefaultDeliveryMode()
protected boolean isLazyConnect()
protected boolean isHeadersMappedLast()
protected final void doInit()
doInit in class org.springframework.integration.handler.AbstractReplyProducingMessageHandlerprotected void endpointInit()
public void start()
start in interface org.springframework.context.Lifecyclepublic void stop()
stop in interface org.springframework.context.Lifecycleprotected void doStart()
protected void doStop()
public boolean isRunning()
isRunning in interface org.springframework.context.Lifecycleprotected org.springframework.amqp.rabbit.support.CorrelationData generateCorrelationData(org.springframework.messaging.Message<?> requestMessage)
protected java.lang.String generateExchangeName(org.springframework.messaging.Message<?> requestMessage)
protected java.lang.String generateRoutingKey(org.springframework.messaging.Message<?> requestMessage)
protected void addDelayProperty(org.springframework.messaging.Message<?> message,
org.springframework.amqp.core.Message amqpMessage)
protected org.springframework.integration.support.AbstractIntegrationMessageBuilder<?> buildReply(org.springframework.amqp.support.converter.MessageConverter converter,
org.springframework.amqp.core.Message amqpReplyMessage)
protected org.springframework.messaging.Message<?> buildReturnedMessage(org.springframework.amqp.core.Message message,
int replyCode,
java.lang.String replyText,
java.lang.String exchange,
java.lang.String routingKey,
org.springframework.amqp.support.converter.MessageConverter converter)
protected void handleConfirm(org.springframework.amqp.rabbit.support.CorrelationData correlationData,
boolean ack,
java.lang.String cause)