public class PublishSubscribeAmqpChannel extends AbstractAmqpChannel implements org.springframework.amqp.rabbit.connection.ConnectionListener
AbstractMessageChannel.ChannelInterceptorList
interceptors
EXPRESSION_PARSER, logger
Constructor and Description |
---|
PublishSubscribeAmqpChannel(java.lang.String channelName,
org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer container,
org.springframework.amqp.core.AmqpTemplate amqpTemplate)
Construct an instance with the supplied name, container and template; default header
mappers will be used if the message is mapped.
|
PublishSubscribeAmqpChannel(java.lang.String channelName,
org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer container,
org.springframework.amqp.core.AmqpTemplate amqpTemplate,
AmqpHeaderMapper outboundMapper,
AmqpHeaderMapper inboundMapper)
Construct an instance with the supplied name, container and template; default header
mappers will be used if the message is mapped.
|
Modifier and Type | Method and Description |
---|---|
protected AbstractDispatcher |
createDispatcher() |
void |
destroy() |
protected org.springframework.amqp.core.AmqpAdmin |
getAdmin() |
protected org.springframework.amqp.rabbit.connection.ConnectionFactory |
getConnectionFactory() |
protected java.lang.String |
getExchangeName()
Subclasses may override this method to return an Exchange name.
|
int |
getPhase() |
boolean |
isAutoStartup() |
boolean |
isRunning() |
protected java.lang.String |
obtainQueueName(org.springframework.amqp.core.AmqpAdmin admin,
java.lang.String channelName) |
void |
onClose(org.springframework.amqp.rabbit.connection.Connection connection) |
void |
onCreate(org.springframework.amqp.rabbit.connection.Connection connection) |
void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
setExchange(org.springframework.amqp.core.FanoutExchange exchange)
Configure the FanoutExchange instance.
|
void |
setMaxSubscribers(int maxSubscribers)
Specify the maximum number of subscribers supported by the
channel's dispatcher (if it is an
AbstractDispatcher ). |
void |
start() |
void |
stop() |
void |
stop(java.lang.Runnable callback) |
boolean |
subscribe(org.springframework.messaging.MessageHandler handler) |
boolean |
unsubscribe(org.springframework.messaging.MessageHandler handler) |
doSend, getAmqpTemplate, getInboundHeaderMapper, getRabbitTemplate, getRoutingKey, isExtractPayload, isLoggingEnabled, setDefaultDeliveryMode, setExtractPayload, setLoggingEnabled
addInterceptor, addInterceptor, configureMetrics, getChannelInterceptors, getComponentType, getErrorRate, getFullChannelName, getInterceptors, getMaxSendDuration, getMeanErrorRate, getMeanErrorRatio, getMeanSendDuration, getMeanSendRate, getMetrics, getMinSendDuration, getSendCount, getSendCountLong, getSendDuration, getSendErrorCount, getSendErrorCountLong, getSendRate, getStandardDeviationSendDuration, getTimeSinceLastSend, isCountsEnabled, isStatsEnabled, removeInterceptor, removeInterceptor, reset, send, send, setCountsEnabled, setDatatypes, setInterceptors, setMessageConverter, 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 PublishSubscribeAmqpChannel(java.lang.String channelName, org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer container, org.springframework.amqp.core.AmqpTemplate amqpTemplate)
channelName
- the channel name.container
- the container.amqpTemplate
- the template.AbstractAmqpChannel.setExtractPayload(boolean)
public PublishSubscribeAmqpChannel(java.lang.String channelName, org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer container, org.springframework.amqp.core.AmqpTemplate amqpTemplate, AmqpHeaderMapper outboundMapper, AmqpHeaderMapper inboundMapper)
channelName
- the channel name.container
- the container.amqpTemplate
- the templateoutboundMapper
- the outbound mapper.inboundMapper
- the inbound mapper.AbstractAmqpChannel.setExtractPayload(boolean)
public void setExchange(org.springframework.amqp.core.FanoutExchange exchange)
exchange
- The fanout exchange.protected java.lang.String obtainQueueName(org.springframework.amqp.core.AmqpAdmin admin, java.lang.String channelName)
protected AbstractDispatcher createDispatcher()
protected java.lang.String getExchangeName()
AbstractAmqpChannel
getExchangeName
in class AbstractAmqpChannel
public void destroy() throws java.lang.Exception
destroy
in interface org.springframework.beans.factory.DisposableBean
java.lang.Exception
public void start()
start
in interface org.springframework.context.Lifecycle
public void onCreate(org.springframework.amqp.rabbit.connection.Connection connection)
onCreate
in interface org.springframework.amqp.rabbit.connection.ConnectionListener
public void onClose(org.springframework.amqp.rabbit.connection.Connection connection)
onClose
in interface org.springframework.amqp.rabbit.connection.ConnectionListener
public void setMaxSubscribers(int maxSubscribers)
AbstractDispatcher
).maxSubscribers
- The maximum number of subscribers allowed.protected org.springframework.amqp.core.AmqpAdmin getAdmin()
protected org.springframework.amqp.rabbit.connection.ConnectionFactory getConnectionFactory()
public boolean subscribe(org.springframework.messaging.MessageHandler handler)
subscribe
in interface org.springframework.messaging.SubscribableChannel
public boolean unsubscribe(org.springframework.messaging.MessageHandler handler)
unsubscribe
in interface org.springframework.messaging.SubscribableChannel
public void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class AbstractMessageChannel
java.lang.Exception
- Any exception.public boolean isAutoStartup()
isAutoStartup
in interface org.springframework.context.SmartLifecycle
public int getPhase()
getPhase
in interface org.springframework.context.Phased
public boolean isRunning()
isRunning
in interface org.springframework.context.Lifecycle
public void stop()
stop
in interface org.springframework.context.Lifecycle
public void stop(java.lang.Runnable callback)
stop
in interface org.springframework.context.SmartLifecycle