public class RabbitMessageBus extends MessageBusSupport implements org.springframework.beans.factory.DisposableBean
MessageBus
implementation backed by RabbitMQ.MessageBusSupport.PartitioningMetadata, MessageBusSupport.SharedChannelProvider<T extends org.springframework.messaging.MessageChannel>
directChannelProvider, JOB_CHANNEL_TYPE_PREFIX, MEDIATYPES_MEDIATYPE_ALL, ORIGINAL_CONTENT_TYPE_HEADER, P2P_NAMED_CHANNEL_TYPE_PREFIX, PUBSUB_NAMED_CHANNEL_TYPE_PREFIX, pubsubChannelProvider, queueChannelProvider
Constructor and Description |
---|
RabbitMessageBus(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory,
MultiTypeCodec<java.lang.Object> codec) |
Modifier and Type | Method and Description |
---|---|
void |
bindConsumer(java.lang.String name,
org.springframework.messaging.MessageChannel moduleInputChannel,
java.util.Properties properties)
Bind a message consumer on a p2p channel
|
void |
bindProducer(java.lang.String name,
org.springframework.messaging.MessageChannel moduleOutputChannel,
java.util.Properties properties)
Bind a message producer on a p2p channel.
|
void |
bindPubSubConsumer(java.lang.String name,
org.springframework.messaging.MessageChannel moduleInputChannel,
java.util.Properties properties)
Bind a message consumer on a pub/sub channel
|
void |
bindPubSubProducer(java.lang.String name,
org.springframework.messaging.MessageChannel moduleOutputChannel,
java.util.Properties properties)
Bind a message producer on a pub/sub channel.
|
void |
bindReplier(java.lang.String name,
org.springframework.messaging.MessageChannel requests,
org.springframework.messaging.MessageChannel replies,
java.util.Properties properties)
Bind a consumer that handles requests from a requestor and asynchronously sends replies.
|
void |
bindRequestor(java.lang.String name,
org.springframework.messaging.MessageChannel requests,
org.springframework.messaging.MessageChannel replies,
java.util.Properties properties)
Bind a producer that expects async replies.
|
void |
destroy() |
void |
setDefaultAcknowledgeMode(org.springframework.amqp.core.AcknowledgeMode defaultAcknowledgeMode) |
void |
setDefaultBackOffInitialInterval(long defaultInitialBackOffInterval) |
void |
setDefaultBackOffMaxInterval(long defaultBackOffMaxInterval) |
void |
setDefaultBackOffMultiplier(double defaultBackOffMultiplier) |
void |
setDefaultChannelTransacted(boolean defaultChannelTransacted) |
void |
setDefaultConcurrentConsumers(int defaultConcurrentConsumers) |
void |
setDefaultDefaultDeliveryMode(org.springframework.amqp.core.MessageDeliveryMode defaultDefaultDeliveryMode) |
void |
setDefaultDefaultRequeueRejected(boolean defaultDefaultRequeueRejected) |
void |
setDefaultMaxAttempts(int defaultMaxAttempts) |
void |
setDefaultMaxConcurrentConsumers(int defaultMaxConcurrentConsumers) |
void |
setDefaultPrefetchCount(int defaultPrefetchCount) |
void |
setDefaultPrefix(java.lang.String defaultPrefix) |
void |
setDefaultReplyHeaderPatterns(java.lang.String[] defaultReplyHeaderPatterns) |
void |
setDefaultRequestHeaderPatterns(java.lang.String[] defaultRequestHeaderPatterns) |
void |
setDefaultTxSize(int defaultTxSize) |
addBinding, afterPropertiesSet, bindDynamicProducer, bindDynamicPubSubProducer, deleteBinding, deleteBindings, deserializePayloadIfNecessary, destroyCreatedChannel, determinePartition, getApplicationContext, getBeanFactory, getIdGenerator, isNamedChannel, registerNamedChannelForConsumerIfNecessary, serializePayloadIfNecessary, setApplicationContext, setCodec, setIntegrationEvaluationContext, setPartitionSelector, setQueueSize, stopBindings, unbindConsumer, unbindConsumers, unbindProducer, unbindProducers
public RabbitMessageBus(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, MultiTypeCodec<java.lang.Object> codec)
public void setDefaultAcknowledgeMode(org.springframework.amqp.core.AcknowledgeMode defaultAcknowledgeMode)
public void setDefaultChannelTransacted(boolean defaultChannelTransacted)
public void setDefaultConcurrentConsumers(int defaultConcurrentConsumers)
public void setDefaultDefaultDeliveryMode(org.springframework.amqp.core.MessageDeliveryMode defaultDefaultDeliveryMode)
public void setDefaultDefaultRequeueRejected(boolean defaultDefaultRequeueRejected)
public void setDefaultMaxConcurrentConsumers(int defaultMaxConcurrentConsumers)
public void setDefaultPrefetchCount(int defaultPrefetchCount)
public void setDefaultTxSize(int defaultTxSize)
public void setDefaultMaxAttempts(int defaultMaxAttempts)
public void setDefaultBackOffInitialInterval(long defaultInitialBackOffInterval)
public void setDefaultBackOffMultiplier(double defaultBackOffMultiplier)
public void setDefaultBackOffMaxInterval(long defaultBackOffMaxInterval)
public void setDefaultPrefix(java.lang.String defaultPrefix)
public void setDefaultRequestHeaderPatterns(java.lang.String[] defaultRequestHeaderPatterns)
public void setDefaultReplyHeaderPatterns(java.lang.String[] defaultReplyHeaderPatterns)
public void bindConsumer(java.lang.String name, org.springframework.messaging.MessageChannel moduleInputChannel, java.util.Properties properties)
MessageBus
bindConsumer
in interface MessageBus
name
- the logical identity of the message sourcemoduleInputChannel
- the channel bound as a consumerproperties
- arbitrary String key/value pairs that will be used in the bindingpublic void bindPubSubConsumer(java.lang.String name, org.springframework.messaging.MessageChannel moduleInputChannel, java.util.Properties properties)
MessageBus
bindPubSubConsumer
in interface MessageBus
name
- the logical identity of the message sourcemoduleInputChannel
- the channel bound as a pub/sub consumerproperties
- arbitrary String key/value pairs that will be used in the bindingpublic void bindProducer(java.lang.String name, org.springframework.messaging.MessageChannel moduleOutputChannel, java.util.Properties properties)
MessageBus
bindProducer
in interface MessageBus
name
- the logical identity of the message targetmoduleOutputChannel
- the channel bound as a producerproperties
- arbitrary String key/value pairs that will be used in the bindingpublic void bindPubSubProducer(java.lang.String name, org.springframework.messaging.MessageChannel moduleOutputChannel, java.util.Properties properties)
MessageBus
bindPubSubProducer
in interface MessageBus
name
- the logical identity of the message targetmoduleOutputChannel
- the channel bound as a producerproperties
- arbitrary String key/value pairs that will be used in the bindingpublic void bindRequestor(java.lang.String name, org.springframework.messaging.MessageChannel requests, org.springframework.messaging.MessageChannel replies, java.util.Properties properties)
MessageBus
bindRequestor
in interface MessageBus
name
- The name of the requestor.requests
- The request channel - sends requests.replies
- The reply channel - receives replies.properties
- arbitrary String key/value pairs that will be used in the binding.public void bindReplier(java.lang.String name, org.springframework.messaging.MessageChannel requests, org.springframework.messaging.MessageChannel replies, java.util.Properties properties)
MessageBus
bindReplier
in interface MessageBus
name
- The name of the requestor for which this replier will handle requests.requests
- The request channel - receives requests.replies
- The reply channel - sends replies.properties
- arbitrary String key/value pairs that will be used in the binding.public void destroy()
destroy
in interface org.springframework.beans.factory.DisposableBean