Configures an endpoint that will publish an AMQP Message to the provided Exchange.
Unique ID for this adapter.
Message Channel to which Messages should be sent in order to have them converted and published to an AMQP Exchange.
If this attribute is not provided, the ID will be used to create a new DirectChannel, and then instead of using that
ID as the bean name of the EventDrivenConsumer instance that hosts the MessageHandler responsible for publishing the
AMQP Messages, that EventDrivenConsumer's bean name will be the ID plus the added suffix: ".adapter"
Configures an endpoint that will receive AMQP Messages sent to a given queue and then forward those messages to a Message Channel.
Message Channel to which converted Messages should be sent. If this attribute is not provided, the ID will
be used to create a new DirectChannel, and then instead of using that ID as the bean name of the Channel Adapter
instance, the bean name will be the ID plus the added suffix: ".adapter"
Configures a gateway that will publish an AMQP Message to the provided Exchange
and expect a reply Message.
Unique ID for this gateway.
Message Channel to which Messages should be sent in order to have them converted and published to an AMQP Exchange.
Message Channel to which replies should be sent after being received from an AQMP Queue and converted.
Specify whether this outbound gateway must return a non-null value. This value is
'true' by default, and a ReplyRequiredException will be thrown when
the underlying service returns a null value.
Configures a gateway that will receive AMQP Messages sent to a given queue and then forward those messages to a Message Channel.
If a reply Message is returned, it will also send that to the 'replyTo' provide by the AMQP request Message.
Message Channel to which converted Messages should be sent.
Message Channel where reply Messages will be expected.
Creates a point-to-point channel that is backed by an AMQP Queue.
Indicate whether this channel should be message-driven (subscribable) or not (pollable).
Provide an explicitly configured queue name. If this is not provided, then a Queue will be created
implicitly with the same name as the channel itself (the "id" of this element). If this channel is
not message-driven, the implicit creation will require that either an AmqpAdmin instance has been
provided via the "amqp-admin" attribute or that the configured AmqpTemplate is an instance of RabbitTemplate.
If the channel is message-driven, the AmqpAdmin will be created using the underlying listener container's
ConnectionFactory.
An AmqpAdmin instance to use when declaring a Queue implicitly. This is only needed if an explicit
"queue-name" is not provided and the channel is not message-driven. Even then, if the referenced
AmqpTemplate is an instance of RabbitTemplate, the AmqpAdmin can be constructed from that template's
ConnectionFactory.
Creates a publish-subscribe-channel that is backed by an AMQP FanoutExchange.
Always message-driven (subscribable).
Reference to a FanoutExchange instance to which this channel should send Messages. If not provided,
a FanoutExchange will be declared with this channel's name prefixed by "si.fanout.".
A Queue will be declared automatically and bound to that exchange to handle the consumer role
of this channel.
Base type for 'channel' and 'publish-subscribe-channel'.
Unique ID for this Message Channel.
Base type for the 'outbound-channel-adapter' and 'outbound-gateway' elements.
The fixed name of the AMQP Exchange to which Messages should be sent. If not provided, Messages will be sent to the default, no-name Exchange.
The exchange name to use when sending Messages evaluated as an expression on the message (e.g. 'headers.exchange'). By default, this will be an emtpy String.
The fixed routing-key to use when sending Messages. By default, this will be an empty String.
The routing-key to use when sending Messages evaluated as an expression on the message (e.g. 'payload.key'). By default, this will be an empty String.
The order for this consumer when multiple consumers are registered thereby enabling load-balancing and/or failover.
The default delivery mode for messages; 'PERSISTENT' or 'NON_PERSISTENT'. Overridden if the 'header-mapper'
sets the delivery mode. The 'DefaultHeaderMapper' sets the value if the
Spring Integration message header 'amqp_deliveryMode' is present. If this attribute is not supplied and
the header mapper doesn't set it, the default depends on the underlying spring-amqp 'MessagePropertiesConverter'
used by the 'RabbitTemplate'. If that is not customized at all, the default is 'PERSISTENT'.
Base type for the 'inbound-channel-adapter' and 'inbound-gateway' elements.
Unique ID for this adapter.
Message Channel to which error Messages should be sent.
MessageConverter to use when receiving AMQP Messages.
(or @Bean) syntax. You cannot use the XML namespace support because it requires
attributes such as queue names to be specified on a child element and, as stated above, the
container must not have a MessageListener defined.
]]>
Names of the AMQP Queues from which Messages should be consumed (comma-separated list).
Flag to indicate that channels created by this component will be transactional.
Reference to the Rabbit ConnectionFactory to be used by this component.
MessagePropertiesConverter to use when receiving AMQP Messages.
Attributes for a RabbitTemplate. This does not include the exchange, queue, or routingKey properties
since those may or may not be exposed for configuration depending on what type of component uses this
attribute group. This group also does not include any of the properties that are shared with the
SimpleMessageListenerContainer, such as channelTransacted, connectionFactory, and messagePropertiesConverter.
The encoding to use when converting between byte arrays and Strings in message properties.
Reference to a MessageConverter to be used by this RabbitTemplate.
Attributes for a SimpleMesssageListenerContainer's properties other than queues, queueNames, messageListener, and
autoStartup which may or may not be exposed for configuration depending on what type of component uses this attribute group.
This group also does not include any of the properties that are shared with RabbitTemplate, such as channelTransacted,
connectionFactory, and messsagePropertiesConverter.
Acknowledge Mode for the MessageListenerContainer; default 'AUTO'
meaning the adapter automatically acknowledges the message(s)
according to the tx-size.
Array of AOP Advice instances to be applied to the MessageListener.
Specify the number of concurrent consumers to create. Default is 1.
Raising the number of concurrent consumers is recommended in order to scale the consumption of messages coming in
from a queue. However, note that any ordering guarantees are lost once multiple consumers are registered. In
general, stick with 1 consumer for low-volume queues.
ErrorHandler to be configured on the underlying MessageListener container.
Set whether to expose the listener Rabbit Channel to a registered ChannelAwareMessageListener as well as
to RabbitTemplate calls.
Specifies how many messages to send to each consumer in a single request. Often this can be set quite high
to improve throughput. It should be greater than or equal to the tx-size value.
The timeout for each attempt by a consumer to receive the next message.
The interval between recovery attempts, in milliseconds. The default is 5000 ms, that is, 5 seconds.
The time to wait for workers in milliseconds after the container is stopped, and before the connection is forced closed.
Reference to the Executor to be used for running Consumer threads.
The TransactionAttribute to use when the Consumer receives the AMQP Message and the Listener is invoked
within a transaction. This is only applicable when a TransactionManager has been configured.
The PlatformTransactionManager to use when the Consumer receives the AMQP Message and the Listener is invoked.
How many messages to process in a single transaction (if the channel is transactional). For best results it should be
less than or equal to the prefetch count.