Configures a Consumer Endpoint for the
'org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint'
with the 'expectReply = false' 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"
An AmqpTemplate; if not supplied, a bean name 'amqpTemplate' is
expected.
Configures a Message Producing Endpoint for the
'org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter'
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 Consumer Endpoint for the 'org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint'
that will publish an AMQP Message to the provided Exchange and expect a reply Message.
The thread blocks waiting for a reply or timeout; uses 'RabbitTemplate.sendAndReceive()'.
An AmqpTemplate; if not supplied, a bean name 'amqpTemplate' is
expected.
Configures a Consumer Endpoint for the 'org.springframework.integration.amqp.outbound.AsyncAmqpOutboundGateway'
that will publish an AMQP Message to the provided Exchange and expect a reply Message.
The sending thread returns immediately; the reply is sent asynchronously; uses 'AsyncRabbitTemplate.sendAndReceive()'.
An AsyncRabbitTemplate; if not supplied, a bean name 'asyncRabbitTemplate' is
expected.
Configures a Messaging Gateway Endpoint for the
'org.springframework.integration.amqp.inbound.AmqpInboundGateway' 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.
The AmqpTemplate bean reference to be used for sending replies.
Defaults to `RabbitTemplate` based on the provided `ConnectionFactory`.
The 'defaultReplyTo' address with the form '(exchange)/(routingKey)'
(or '(queueName)' - in which case the default exchange will be used
with the queue name as the routing key)
if the request message doesn't have 'replyTo' property.
If this property isn't specified too, the gateway relies on
the `AmqpTemplate` configuration.
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.
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'.
Set to 'true' to extract the message payload and map the o.s.messaging.Message to an o.s.amqp.core.Message in
a similar manner to a pair of channel adapters. When 'false' the entire message is converted requiring either
Java serializable contents or a custom message converter. Also see inbound and outbound mapped headers.
Also see 'headers-last', which only applies if this is 'true'.
The header mapper to use when sending and 'extract-payload' is true. The default mapper is
DefaultAmqpHeaderMapper.outboundMapper() which maps all headers except 'x-*'.
The header mapper to use when receiving and 'extract-payload' is true. The default mapper is
DefaultAmqpHeaderMapper.inboundMapper() which maps all headers.
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'.
By default, the connection is established lazily, when the first message is sent. If you wish to detect
connection configuration problems during application initialization, set this to 'false'.
If the eager connection fails, an ERROR log will be emitted.
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.
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.
Message Channel to which replies should be sent after being received from an AMQP Queue and converted.
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).
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.
Flag to indicate that channels created by this component will be transactional.
Only applies to messages sent to this channel, or when 'message-driven' is 'false'.
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 SimpleMessageListenerContainer'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 messagePropertiesConverter.
Flag to indicate that channels created by this component will be transactional.
Only applies to messages received from this channel when 'message-driven' is 'true'.
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, use 1 consumer for low-volume queues. Mutually exclusive with 'consumers-per-queue'.
Specify the number of consumers to create for each queue.
Setting this attribute creates a 'DirectMessageListenerContainer' instead of the default
'SimpleMessageListenerContainer'. Refer to the Spring AMQP reference documentation for
more information about these containers.
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.
Not allowed when 'consumers-per-queue' is set.
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.
Not allowed when 'consumers-per-queue' is set.
If 'true', and none of the queues are available on the broker, the container will throw a fatal exception during
startup and will stop if the queues are deleted when the container is running (after making 3 attempts to
passively declare the queues). If false, the container will not throw an exception and go into recovery mode,
attempting to restart according to the 'recovery-interval'. Default 'true' unless 'consumers-per-queue' is set.
Whether headers are mapped before or after conversion from a messaging Message to
a spring amqp Message. Set to true, for example, if you wish to override the
contentType header set by the converter.