public abstract class AbstractAmqpOutboundEndpoint extends AbstractReplyProducingMessageHandler implements Lifecycle
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractAmqpOutboundEndpoint.CorrelationDataWrapper |
AbstractReplyProducingMessageHandler.RequestHandler
messagingTemplate
EXPRESSION_PARSER, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
AbstractAmqpOutboundEndpoint() |
Modifier and Type | Method and Description |
---|---|
protected void |
addDelayProperty(Message<?> message,
Message amqpMessage) |
protected Message<?> |
buildReplyMessage(MessageConverter converter,
Message amqpReplyMessage) |
protected Message<?> |
buildReturnedMessage(Message message,
int replyCode,
String replyText,
String exchange,
String routingKey,
MessageConverter converter) |
protected void |
doInit() |
protected void |
doStart() |
protected void |
doStop() |
protected void |
endpointInit()
Subclasses can override to perform any additional initialization.
|
protected CorrelationData |
generateCorrelationData(Message<?> requestMessage) |
protected String |
generateExchangeName(Message<?> requestMessage) |
protected String |
generateRoutingKey(Message<?> requestMessage) |
protected MessageChannel |
getConfirmAckChannel() |
protected Expression |
getConfirmCorrelationExpression() |
protected MessageChannel |
getConfirmNackChannel() |
protected ExpressionEvaluatingMessageProcessor<Object> |
getCorrelationDataGenerator() |
protected MessageDeliveryMode |
getDefaultDeliveryMode() |
protected String |
getExchangeName() |
protected Expression |
getExchangeNameExpression() |
protected ExpressionEvaluatingMessageProcessor<String> |
getExchangeNameGenerator() |
protected AmqpHeaderMapper |
getHeaderMapper() |
protected MessageChannel |
getReturnChannel() |
protected String |
getRoutingKey() |
protected Expression |
getRoutingKeyExpression() |
protected ExpressionEvaluatingMessageProcessor<String> |
getRoutingKeyGenerator() |
protected void |
handleConfirm(CorrelationData correlationData,
boolean ack,
String cause) |
protected boolean |
isLazyConnect() |
boolean |
isRunning() |
void |
setConfirmAckChannel(MessageChannel ackChannel)
Set the channel to which acks are send (publisher confirms).
|
void |
setConfirmAckChannelName(String ackChannelName)
Set the channel name to which acks are send (publisher confirms).
|
void |
setConfirmCorrelationExpression(Expression confirmCorrelationExpression) |
void |
setConfirmCorrelationExpressionString(String confirmCorrelationExpression) |
void |
setConfirmNackChannel(MessageChannel nackChannel)
Set the channel to which nacks are send (publisher confirms).
|
void |
setConfirmNackChannelName(String nackChannelName)
Set the channel name to which nacks are send (publisher confirms).
|
protected void |
setConnectionFactory(ConnectionFactory connectionFactory) |
void |
setDefaultDeliveryMode(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(Expression delayExpression)
Set the SpEL expression to calculate the
x-delay header when using the
RabbitMQ delayed message exchange plugin. |
void |
setDelayExpressionString(String delayExpression)
Set the SpEL expression to calculate the
x-delay header when using the
RabbitMQ delayed message exchange plugin. |
void |
setErrorMessageStrategy(ErrorMessageStrategy errorMessageStrategy)
Set the error message strategy to use for returned (or negatively confirmed)
messages.
|
void |
setExchangeName(String exchangeName) |
void |
setExchangeNameExpression(Expression exchangeNameExpression) |
void |
setExchangeNameExpressionString(String exchangeNameExpression) |
void |
setHeaderMapper(AmqpHeaderMapper headerMapper) |
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(MessageChannel returnChannel)
Set the channel to which returned messages are sent.
|
void |
setRoutingKey(String routingKey) |
void |
setRoutingKeyExpression(Expression routingKeyExpression) |
void |
setRoutingKeyExpressionString(String routingKeyExpression) |
void |
start() |
void |
stop() |
doInvokeAdvisedRequestHandler, getRequiresReply, handleMessageInternal, handleRequestMessage, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput
configureMetrics, getActiveCount, getActiveCountLong, getComponentType, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
public void setHeaderMapper(AmqpHeaderMapper headerMapper)
public void setExchangeName(String exchangeName)
public void setExchangeNameExpression(Expression exchangeNameExpression)
exchangeNameExpression
- the expression to use.public void setExchangeNameExpressionString(String exchangeNameExpression)
exchangeNameExpression
- the String in SpEL syntax.public void setRoutingKey(String routingKey)
public void setRoutingKeyExpression(Expression routingKeyExpression)
routingKeyExpression
- the expression to use.public void setRoutingKeyExpressionString(String routingKeyExpression)
routingKeyExpression
- the String in SpEL syntax.public void setConfirmCorrelationExpression(Expression confirmCorrelationExpression)
confirmCorrelationExpression
- the expression to use.public void setConfirmCorrelationExpressionString(String confirmCorrelationExpression)
confirmCorrelationExpression
- the String in SpEL syntax.public void setConfirmAckChannel(MessageChannel ackChannel)
ackChannel
- the channel.public void setConfirmAckChannelName(String ackChannelName)
ackChannelName
- the channel name.public void setConfirmNackChannel(MessageChannel nackChannel)
nackChannel
- the channel.public void setConfirmNackChannelName(String nackChannelName)
nackChannelName
- the channel name.public void setReturnChannel(MessageChannel returnChannel)
returnChannel
- the channel.public void setDefaultDeliveryMode(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(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(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(ErrorMessageStrategy errorMessageStrategy)
errorMessageStrategy
- the strategy.protected final void setConnectionFactory(ConnectionFactory connectionFactory)
protected String getExchangeName()
protected String getRoutingKey()
protected Expression getExchangeNameExpression()
protected Expression getRoutingKeyExpression()
protected ExpressionEvaluatingMessageProcessor<String> getRoutingKeyGenerator()
protected ExpressionEvaluatingMessageProcessor<String> getExchangeNameGenerator()
protected AmqpHeaderMapper getHeaderMapper()
protected Expression getConfirmCorrelationExpression()
protected ExpressionEvaluatingMessageProcessor<Object> getCorrelationDataGenerator()
protected MessageChannel getConfirmAckChannel()
protected MessageChannel getConfirmNackChannel()
protected MessageChannel getReturnChannel()
protected MessageDeliveryMode getDefaultDeliveryMode()
protected boolean isLazyConnect()
protected final void doInit()
doInit
in class AbstractReplyProducingMessageHandler
protected void endpointInit()
protected void doStart()
protected void doStop()
protected CorrelationData generateCorrelationData(Message<?> requestMessage)
protected Message<?> buildReplyMessage(MessageConverter converter, Message amqpReplyMessage)
protected Message<?> buildReturnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey, MessageConverter converter)
protected void handleConfirm(CorrelationData correlationData, boolean ack, String cause)