Defines a Message Channel that is backed by a JMS Queue.
Reference to a JMS Queue. Either this attribute or the 'queue-name'
must be provided, but only one.
Specifies whether this channel should be Message-Driven. The value is "true" by default.
Set to "false" if this channel should be pollable.
Name of a JMS Queue to be resolved by this channel's DestinationResolver.
Defines a Message Channel that is backed by a JMS Topic.
Reference to a JMS Topic. Either this attribute or the 'topic-name'
must be provided, but only one.
Name of a JMS Topic to be resolved by this channel's DestinationResolver.
Boolean value indicating whether the Topic subscription is durable.
Boolean property indicating whether to make the subscription shared. The shared subscription name to be used can be
specified through the 'subscription' attribute. Default is "false". Set this to "true" to register a shared
subscription.
Note that shared subscriptions may also be durable, so this flag can
(and often will) be combined with 'durable' as well. Requires a JMS 2.0 compatible message broker.
ID for this channel. Required.
Reference to a JMS ConnectionFactory. If none is provided, the default
bean name for the reference will be "connectionFactory".
Timeout for the container's consumers if messsage-driven is TRUE, or
timeout for receive calls on the template if message-driven is FALSE.
Specify a boolean value indicating whether the delivery mode should be
DeliveryMode.PERSISTENT (true) or DeliveryMode.NON_PERSISTENT (false).
This setting will only take effect if 'explicit-qos-enabled' is true.
Specify the message time to live.
This setting will only take effect if 'explicit-qos-enabled' is true.
Specify the default priority of the message. Overridden by the message priority
header, if present; range 0-9.
This setting will only take effect if 'explicit-qos-enabled' is true.
Defines a JMS Message-Driven inbound Channel Adapter.
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use 'destination-name' and 'pub-sub-domain' which will rely upon the
DestinationResolver strategy (DynamicDestinationResolver by default).
The boolean property used to configure the listener container with knowledge of what JMS domain is being used.
Unless 'subscription-shared' or 'subscription-durable' is true, by default the value of this property is 'false' ,
indicating that the point-to-point domain, Queues, will be used. When true, the pub/sub domain, Topics, will
be used.
Boolean property indicating whether to make the subscription durable. The durable subscription name to be used can be specified
through the "durableSubscriptionName" property. Default is "false". Set this to "true" to register a durable subscription,
typically in combination with a "durableSubscriptionName" value (unless your message listener class name is good enough as
subscription name). Only makes sense when listening to a topic (pub-sub domain).
[DEPRECATED: Use 'subscription-durable="true"' together with 'subscription-name'].
The name of a durable subscription to create. To be applied in case of a topic (pub-sub domain) with subscription durability
activated. The durable subscription name needs to be unique within this client's JMS client id. Default is the class name of the
specified message listener. Note: Only 1 concurrent consumer (which is the default of the message listener container) is allowed
for each durable subscription.
Boolean property indicating whether to make the subscription shared. The shared subscription name to be used can be
specified through the 'subscription-name' attribute. Default is "false". Set this to "true" to register a shared
subscription, typically in combination with a 'subscription-name' value (unless your message listener class name is
good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can
(and often will) be combined with 'subscription-durable' as well.
Only makes sense when listening to a topic (pub-sub domain), therefore this automatically sets
'pub-sub-domain' to 'true'. Requires a JMS 2.0 compatible message broker.
The name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable
subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name
of the specified message listener.
Note: Only 1 concurrent consumer (which is the default of the message listener container) is allowed for each
subscription, except for a shared subscription (which requires JMS 2.0).
The JMS client id for a shared Connection created and used by this container. Note that client ids need to be unique among all
active Connections of the underlying JMS provider. Furthermore, a client id can only be assigned if the original ConnectionFactory
hasn't already assigned one.
If a (synchronous) downstream exception is thrown and an error-channel is specified,
the MessagingException will be sent to this channel. Otherwise, any such exception
will be propagated to the listener container and any JMS transaction will be
rolled back. Any synchronous downstream exceptions in the error flow will
also cause any JMS transaction to be rolled back.
Defines an inbound Channel Adapter for polling a JMS Destination.
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use 'destination-name' and 'pub-sub-domain' which will rely upon the
DestinationResolver strategy (DynamicDestinationResolver by default).
Timeout for receive calls on the template.
NOTE: for JmsTemplate, 0 means indefinite while -1 means no-wait.
Defines an inbound JMS-based Messaging Gateway.
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use 'request-destination-name' and 'request-pub-sub-domain' which will rely
upon the DestinationResolver strategy (DynamicDestinationResolver by default).
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use either 'default-reply-queue-name' or 'default-reply-topic-name' which
will rely upon the DestinationResolver strategy (DynamicDestinationResolver by default).
Allows to specify custom implementation of JmsHeaderMapper to map Message Headers to JMS Message.
If a (synchronous) downstream exception is thrown and an "error-channel" is specified,
the MessagingException will be sent to this channel; any response from
which will be returned as a reply by the gateway. If an "error-channel" is not
supplied, any such exception
will be propagated to the listener container and any JMS transaction will be
rolled back. Any synchronous downstream exceptions in the error flow will
also cause any JMS transaction to be rolled back.
Boolean property indicating whether to make the subscription durable. The durable subscription name to be used can be specified
through the "durableSubscriptionName" property. Default is "false". Set this to "true" to register a durable subscription,
typically in combination with a "durableSubscriptionName" value (unless your message listener class name is good enough as
subscription name). Only makes sense when listening to a topic (pub-sub domain).
[DEPRECATED: Use 'subscription-durable="true"' together with 'subscription-name'].
The name of a durable subscription to create. To be applied in case of a topic (pub-sub domain) with subscription durability
activated. The durable subscription name needs to be unique within this client's JMS client id. Default is the class name of the
specified message listener. Note: Only 1 concurrent consumer (which is the default of the message listener container) is allowed
for each durable subscription.
Boolean property indicating whether to make the subscription shared. The shared subscription name to be used can be
specified through the 'subscription-name' attribute. Default is "false". Set this to "true" to register a shared
subscription, typically in combination with a 'subscription-name' value (unless your message listener class name is
good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can
(and often will) be combined with 'subscription-durable' as well.
Only makes sense when listening to a topic (pub-sub domain), therefore this automatically sets
'request-pub-sub-domain' to 'true'. Requires a JMS 2.0 compatible message broker.
The name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable
subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name
of the specified message listener.
Note: Only 1 concurrent consumer (which is the default of the message listener container) is allowed for each
subscription, except for a shared subscription (which requires JMS 2.0).
The JMS client id for a shared Connection created and used by this container. Note that client ids need to be unique among all
active Connections of the underlying JMS provider. Furthermore, a client id can only be assigned if the original ConnectionFactory
hasn't already assigned one.
Defines an outbound JMS-based Messaging Gateway.
Timeout for the JMS MessageConsumer to receive the JMS reply Message. Default is 5 seconds.
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use 'request-destination-name' and 'request-pub-sub-domain' which will rely
upon the DestinationResolver strategy (DynamicDestinationResolver by default). This
attribute is mutually exclusive with 'request-destination-name' and
'request-destination-expression'.
Name of a destination to which request messages will be sent. This name will be handled
by this gateway's DestinationResolver. This attribute is mutually exclusive with
'request-destination' and 'request-destination-expression'.
A SpEL expression to be evaluated at runtime against each Spring Integration request Message as
the root object. The result should be either a Destination instance or a String representing
the destination name. In the latter case, it will be passed to this adapter's DestinationResolver.
This attribute is mutually exclusive with 'request-destination' and 'request-destination-name'.
When resolving a request destination name (rather than a 'request-destination' reference or
a 'request-destination-expression' that evaluates to a destination),
a true value here specifies that the DestinationResolver should resolve Topics rather than Queues.
Default is false.
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use 'reply-destination-name' and 'reply-pub-sub-domain' which will rely
upon the DestinationResolver strategy (DynamicDestinationResolver by default).
This attribute is mutually exclusive with
'reply-destination-name' and 'reply-destination-expression'.
Name of a destination which will be used for the replyTo header. This name will be handled
by this gateway's DestinationResolver. This attribute is mutually exclusive with
'reply-destination' and 'reply-destination-expression'.
A SpEL expression to be evaluated at runtime against each Spring Integration request Message as
the root object. The result should be either a Destination instance or a String representing
the destination name. In the latter case, it will be passed to this adapter's DestinationResolver
together with the reply-pub-sub-domain attribute.
This attribute is mutually exclusive with 'reply-destination' and 'reply-destination-name'.
When resolving a reply destination name (rather than a 'reply-destination' reference or
a 'reply-destination-expression' that evaluates to a destination),
a true value here specifies that the DestinationResolver should resolve Topics rather than Queues.
Default is false.
the correlation data includes a UUID
representing the gateway as well as a message identifier. For this reason, the use of a
requires the specification of a 'correlation-key' if an
explicit reply-destination is provided.
]]>
A reference to an implementation of JmsHeaderMapper to map Message Headers to JMS Message. Default
is a 'DefaultJmsHeaderMapper'.
When 'true' (default), this attribute indicates that the JMS Message body will be created
(by the MessageConverter) from the Spring Integration Message's payload.
When 'false', the entire Spring Integration Message will be converted to the JMS Message body.
In both cases, the message headers will be mapped to JMS headers/properties by the HeaderMapper.
When 'true' (default), this attribute indicates that the payload of the Spring Integration
reply message will be created from the 'JMS Message' body (by the MessageConverter).
When 'false', the Spring Integration Message payload will be the entire JMS Message.
In both cases, the JMS Message headers/properties will be mapped to message headers
by the HeaderMapper.
Specify a boolean value indicating whether the delivery mode should be
DeliveryMode.PERSISTENT (true) or DeliveryMode.NON_PERSISTENT (false).
This setting will only take effect if 'explicit-qos-enabled' is true.
Specify the message time to live.
This setting will only take effect if 'explicit-qos-enabled' is true.
Specify the default priority of the message. Overridden by the message priority
header, if present; range 0-9
This setting will only take effect if 'explicit-qos-enabled' is true.
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.
When using a 'reply-listener', specify whether the container should be started on-demand
and stopped when idle for this time (in seconds). When omitted (or <= 0), the reply container
is started/stopped according to the gateway's lifecycle.
Defines an outbound JMS Message-sending Channel Adapter.
A reference to a javax.jms.Destination by bean name. As an alternative to a bean
reference, use 'destination-name' and 'pub-sub-domain' which will rely upon the
DestinationResolver strategy (DynamicDestinationResolver by default). This attribute
is mutually exclusive with 'destination-name' and 'destination-expression'.
Name of the destination to which JMS Messages will be sent. This will be passed to the
adapter's DestinationResolver. This attribute is mutually exclusive with 'destination'
and 'destination-expression'.
A SpEL expression to be evaluated at runtime against each Spring Integration Message as
the root object. The result should be either a Destination instance or a String representing
the destination name. In the latter case, it will be passed to this adapter's DestinationResolver.
If the evaluation result is null, messages will be sent to the default destination of the
underlying JmsTemplate. This attribute is mutually exclusive with 'destination' and 'destination-name'.
If true, specifies that destination names should resolve to Topics rather than Queues. Default is false.
Specify a boolean value indicating whether the delivery mode should be
DeliveryMode.PERSISTENT (true) or DeliveryMode.NON_PERSISTENT (false).
This setting will only take effect if 'explicit-qos-enabled' is true.
Specify the message time to live.
This setting will only take effect if 'explicit-qos-enabled' is true.
Specify the default priority of the message. Overridden by the message priority
header, if present; range 0-9.
This setting will only take effect if 'explicit-qos-enabled' is true.
Common configuration for message-driven inbound JMS-based adapters.
Common configuration for inbound JMS-based adapters.
A JMS Message Selector expression.
Defines a Transformer for adding statically configured JMS Headers.
The ReplyTo Destination for the JMS Message.
The Correlation ID for the JMS Message.
Specify the default boolean value for whether to overwrite existing header values. This will only take effect for
sub-elements that do not provide their own 'overwrite' attribute. If the 'default-overwrite' attribute is not
provided, then the specified header values will NOT overwrite any existing ones with the same header names.
Boolean value to indicate whether this header value should overwrite an existing header value for the same name.
Common configuration for JMS-based adapters.
Specify the number of concurrent consumers to create. Default is 1.
Specifying a higher value for this setting will increase the standard
level of scheduled concurrent consumers at runtime: This is effectively
the minimum number of concurrent consumers which will be scheduled
at any given time. This is a static setting; for dynamic scaling,
consider specifying the "maxConcurrentConsumers" setting instead.
Raising the number of concurrent consumers is recommendable 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
Specify the maximum number of concurrent consumers to create. Default is 1.
If this setting is higher than "concurrentConsumers", the listener container
will dynamically schedule new consumers at runtime, provided that enough
incoming messages are encountered. Once the load goes down again, the number of
consumers will be reduced to the standard level ("concurrentConsumers") again.
Raising the number of concurrent consumers is recommendable 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.
Specify the level of caching that this listener container is allowed to apply:
CACHE_NONE = 0
CACHE_CONNECTION = 1
CACHE_SESSION = 2
CACHE_CONSUMER = 3
Specify the maximum number of messages to process in one task.
More concretely, this limits the number of message reception attempts
per task, which includes receive iterations that did not actually
pick up a message until they hit their timeout
Interval in miliseconds between the recovery attempts
Specify the limit for the number of consumers that are allowed to be idle at any given time.
This limit is used to determine if a new invoker should be created. Increasing the limit causes
invokers to be created more aggressively. This can be useful to ramp up the
number of invokers faster.
The default is 1, only scheduling a new invoker (which is likely to
be idle initially) if none of the existing invokers is currently idle.
Specify the limit for idle executions of a consumer task, not having
received any message within its execution. If this limit is reached,
the task will shut down and leave receiving to other executing tasks.
The default is 1, closing idle resources early once a task didn't
receive a message.