Modified: websites/production/camel/content/jms.html
==============================================================================
--- websites/production/camel/content/jms.html (original)
+++ websites/production/camel/content/jms.html Thu Apr  5 12:20:49 2012
@@ -177,7 +177,7 @@ In Camel 2.8 onwards, the default settin
 
 <h4><a shape="rect" name="JMS-Mostcommonlyusedoptions"></a>Most commonly used 
options</h4>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"> Option </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>clientId</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Sets the JMS client ID to use. Note that this value, if 
specified, must be unique and can only be used by a single JMS connection 
instance. It is typically only required for durable topic subscriptions. You 
may prefer to use <a shape="rect" class="external-link" 
href="http://activemq.apache.org/virtual-destinations.html";>Virtual Topics</a> 
instead. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>concurrentConsumers</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class
 ="confluenceTd"> Specifies the default number of concurrent consumers. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>disableReplyTo</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If 
<tt>true</tt>, a producer will behave like a InOnly exchange with the exception 
that <tt>JMSReplyTo</tt> header is sent out and not be suppressed like in the 
case of <tt>InOnly</tt>. Like <tt>InOnly</tt> the producer will not wait for a 
reply. A consumer with this flag will behave like <tt>InOnly</tt>. This feature 
can be used to bridge <tt>InOut</tt> requests to another queue so that a route 
on the other queue will send it&#180;s response directly back to the original 
<tt>JMSReplyTo</tt>. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>durableSubscriptionName</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" 
rowspan="1" class="c
 onfluenceTd"> The durable subscriber name for specifying durable topic 
subscriptions. The <tt>clientId</tt> option <b>must</b> be configured as well. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>maxConcurrentConsumers</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies the maximum number of concurrent consumers. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>preserveMessageQos</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Set to <tt>true</tt>, if you want to send message using 
the QoS settings specified on the message, instead of the QoS settings on the 
JMS endpoint. The following three headers are considered <tt>JMSPriority</tt>, 
<tt>JMSDeliveryMode</tt>, and <tt>JMSExpiration</tt>. You can provide all or 
only some of them. If not provided, Camel will fall back to u
 se the values from the endpoint instead. So, when using this option, the 
headers override the values from the endpoint. The <tt>explicitQosEnabled</tt> 
option, by contrast, will only use options set on the endpoint, and not values 
from the message header. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>replyTo</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Provides an explicit ReplyTo destination, which overrides 
any incoming value of <tt>Message.getJMSReplyTo()</tt>. If you do <a 
shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> 
over JMS then read the section further below for more details. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>replyToType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 
2.9:</b> Allows for explicitly specifying
  which kind of strategy to use for replyTo queues when doing request/reply 
over JMS. Possible values are: <tt>Temporary</tt>, <tt>Shared</tt>, or 
<tt>Exclusive</tt>. By default Camel will use temporary queues. However if 
<tt>replyTo</tt> has been configured, then <tt>Shared</tt> is used by default. 
This option allows you to use exclusive queues instead of shared ones. See 
further below for more details, and especially the notes about the implications 
if running in a clustered environment. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>requestTimeout</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>20000</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Producer only:</b> The timeout for waiting 
for a reply when using the InOut <a shape="rect" href="exchange-pattern.html" 
title="Exchange Pattern">Exchange Pattern</a> (in milliseconds). The default is 
20 seconds. See below in section <em>About time to live</em> for more details.
  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>selector</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets the 
JMS Selector, which is an SQL 92 predicate that is used to filter messages 
within the broker. You may have to encode special characters such as = as %3D 
<b>Before Camel 2.3.0</b>, we don't support this option in 
CamelConsumerTemplate </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>timeToLive</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> When sending messages, specifies the time-to-live of the 
message (in milliseconds). See below in section <em>About time to live</em> for 
more details. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transacted</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="1" rowsp
 an="1" class="confluenceTd"> Specifies whether to use transacted mode for 
sending/receiving messages using the InOnly <a shape="rect" 
href="exchange-pattern.html" title="Exchange Pattern">Exchange 
Pattern</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>testConnectionOnStartup</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>Camel 2.1:</b> Specifies whether to test the 
connection on startup. This ensures that when Camel starts that all the JMS 
consumers have a valid connection to the JMS broker. If a connection cannot be 
granted then Camel throws an exception on startup. This ensures that Camel is 
not started with failed connections. From <b>Camel 2.8</b> onwards also the JMS 
producers is tested as well. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"> Option </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>clientId</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Sets the JMS client ID to use. Note that this value, if 
specified, must be unique and can only be used by a single JMS connection 
instance. It is typically only required for durable topic subscriptions. You 
may prefer to use <a shape="rect" class="external-link" 
href="http://activemq.apache.org/virtual-destinations.html";>Virtual Topics</a> 
instead. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>concurrentConsumers</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" class
 ="confluenceTd"> Specifies the default number of concurrent consumers. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>disableReplyTo</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If 
<tt>true</tt>, a producer will behave like a InOnly exchange with the exception 
that <tt>JMSReplyTo</tt> header is sent out and not be suppressed like in the 
case of <tt>InOnly</tt>. Like <tt>InOnly</tt> the producer will not wait for a 
reply. A consumer with this flag will behave like <tt>InOnly</tt>. This feature 
can be used to bridge <tt>InOut</tt> requests to another queue so that a route 
on the other queue will send it&#180;s response directly back to the original 
<tt>JMSReplyTo</tt>. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>durableSubscriptionName</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" 
rowspan="1" class="c
 onfluenceTd"> The durable subscriber name for specifying durable topic 
subscriptions. The <tt>clientId</tt> option <b>must</b> be configured as well. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>maxConcurrentConsumers</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies the maximum number of concurrent consumers. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>preserveMessageQos</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Set to <tt>true</tt>, if you want to send message using 
the QoS settings specified on the message, instead of the QoS settings on the 
JMS endpoint. The following three headers are considered <tt>JMSPriority</tt>, 
<tt>JMSDeliveryMode</tt>, and <tt>JMSExpiration</tt>. You can provide all or 
only some of them. If not provided, Camel will fall back to u
 se the values from the endpoint instead. So, when using this option, the 
headers override the values from the endpoint. The <tt>explicitQosEnabled</tt> 
option, by contrast, will only use options set on the endpoint, and not values 
from the message header. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>replyTo</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Provides an explicit ReplyTo destination, which overrides 
any incoming value of <tt>Message.getJMSReplyTo()</tt>. If you do <a 
shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> 
over JMS then read the section further below for more details. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>replyToType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 
2.9:</b> Allows for explicitly specifying
  which kind of strategy to use for replyTo queues when doing request/reply 
over JMS. Possible values are: <tt>Temporary</tt>, <tt>Shared</tt>, or 
<tt>Exclusive</tt>. By default Camel will use temporary queues. However if 
<tt>replyTo</tt> has been configured, then <tt>Shared</tt> is used by default. 
This option allows you to use exclusive queues instead of shared ones. See 
further below for more details, and especially the notes about the implications 
if running in a clustered environment. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>requestTimeout</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>20000</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Producer only:</b> The timeout for waiting 
for a reply when using the InOut <a shape="rect" href="exchange-pattern.html" 
title="Exchange Pattern">Exchange Pattern</a> (in milliseconds). The default is 
20 seconds. See below in section <em>About time to live</em> for more details.
  See also the <em>requestTimeoutCheckerInterval</em> option. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>selector</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Sets the JMS Selector, which is 
an SQL 92 predicate that is used to filter messages within the broker. You may 
have to encode special characters such as = as %3D <b>Before Camel 2.3.0</b>, 
we don't support this option in CamelConsumerTemplate </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>timeToLive</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> When sending messages, specifies 
the time-to-live of the message (in milliseconds). See below in section 
<em>About time to live</em> for more details. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>transacted</tt> </td><td colspan="1" 
rowspan="1" cla
 ss="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies whether to use transacted mode for 
sending/receiving messages using the InOnly <a shape="rect" 
href="exchange-pattern.html" title="Exchange Pattern">Exchange 
Pattern</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>testConnectionOnStartup</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>Camel 2.1:</b> Specifies whether to test the 
connection on startup. This ensures that when Camel starts that all the JMS 
consumers have a valid connection to the JMS broker. If a connection cannot be 
granted then Camel throws an exception on startup. This ensures that Camel is 
not started with failed connections. From <b>Camel 2.8</b> onwards also the JMS 
producers is tested as well. </td></tr></tbody></table>
 </div>
 
 
@@ -189,7 +189,7 @@ In Camel 2.8 onwards, the default settin
 </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets the cache level by 
name for the underlying JMS resources. Possible values are: 
<tt>CACHE_AUTO</tt>, <tt>CACHE_CONNECTION</tt>, <tt>CACHE_CONSUMER</tt>, 
<tt>CACHE_NONE</tt>, and <tt>CACHE_SESSION</tt>. The default setting for 
<b>Camel 2.8</b> and newer is <tt>CACHE_AUTO</tt>. For <b>Camel 2.7.1</b> and 
older the default is <tt>CACHE_CONSUMER</tt>. See the <a shape="rect" 
class="external-link" 
href="http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/jms/listener/DefaultMessageListenerContainer.html";
 rel="nofollow">Spring documentation</a> and <a shape="rect" 
href="#JMS-transactionCacheLevels">Transactions Cache Levels</a> for more 
information. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>cacheLevel</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"><ul 
class="alternate" type="square"><li></li></ul>
 </td><td colspan="1" rowspan="1" class="confluenceTd"> Sets the cache level by 
ID for the underlying JMS resources. See <tt>cacheLevelName</tt> option for 
more details. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>consumerType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>Default</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The 
consumer type to use, which can be one of: <tt>Simple</tt> or <tt>Default</tt>. 
The consumer type determines which Spring JMS listener to use. <tt>Default</tt> 
will use 
<tt>org.springframework.jms.listener.DefaultMessageListenerContainer</tt>, 
<tt>Simple</tt> will use 
<tt>org.springframework.jms.listener.SimpleMessageListenerContainer</tt>. This 
option was temporary removed in Camel 2.7 and 2.8. But has been added back from 
Camel 2.9 onwards. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>connectionFactory</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>null</
 tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The default JMS 
connection factory to use for the <tt>listenerConnectionFactory</tt> and 
<tt>templateConnectionFactory</tt>, if neither is specified. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>deliveryPersistent</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Specifies whether persistent 
delivery is used by default. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>destination</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies the JMS Destination object to use on this 
endpoint. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>destinationName</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies 
the JMS dest
 ination name to use on this endpoint. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>destinationResolver</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> A pluggable 
<tt>org.springframework.jms.support.destination.DestinationResolver</tt> that 
allows you to use your own resolver (for example, to lookup the real 
destination in a JNDI registry). </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>disableTimeToLive</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> Use this option to force 
disabling time to live. For example when you do request/reply over JMS, then 
Camel will by default use the <tt>requestTimeout</tt> value as time to live on 
the message being sent. The problem is that the sender and receiver systems 
have to have their clocks synchronized, so they are
  in sync. This is not always so easy to archive. So you can use 
<tt>disableTimeToLive=true</tt> to <b>not</b> set a time to live value on the 
sent message. Then the message will not expire on the receiver system. See 
below in section <em>About time to live</em> for more details. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>eagerLoadingOfProperties</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Enables eager loading of JMS properties as soon as a 
message is received, which is generally inefficient, because the JMS properties 
might not be required. But this feature can sometimes catch early any issues 
with the underlying JMS provider and the use of JMS properties. This feature 
can also be used for testing purposes, to ensure JMS properties can be 
understood and handled correctly. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>exceptionListener</tt> </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Specifies the JMS Exception 
Listener that is to be notified of any underlying JMS exceptions. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>errorHandler</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 
2.8.2, 2.9:</b> Specifies a <tt>org.springframework.util.ErrorHandler</tt> to 
be invoked in case of any uncaught exceptions thrown while processing a 
<tt>Message</tt>. By default these exceptions will be logged at the WARN level, 
if no <tt>errorHandler</tt> has been configured. From <b>Camel 2.9.1:</b> 
onwards you can configure logging level and whether stack traces should be 
logged using the below two options. This makes it much easier to configure, 
than having to code a custom <tt>errorHandler</tt>. </td></tr><tr><td 
colspan="1" rowspan="1" class=
 "confluenceTd"> <tt>errorHandlerLoggingLevel</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>WARN</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Camel 2.9.1:</b> Allows to configure the 
default <tt>errorHandler</tt> logging level for logging uncaught exceptions. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>errorHandlerLogStackTrace</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>Camel 2.9.1:</b> Allows to control whether stacktraces 
should be logged or not, by the default <tt>errorHandler</tt>. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>explicitQosEnabled</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Set if the <tt>deliveryMode</tt>, <tt>priority</tt> or 
<tt>timeToLive</tt> qualities of service should be used when sending messages.
  This option is based on Spring's <tt>JmsTemplate</tt>. The 
<tt>deliveryMode</tt>, <tt>priority</tt> and <tt>timeToLive</tt> options are 
applied to the current endpoint. This contrasts with the 
<tt>preserveMessageQos</tt> option, which operates at message granularity, 
reading QoS properties exclusively from the Camel In message headers. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>exposeListenerSession</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies whether the listener session should be exposed 
when consuming messages. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>forceSendOriginalMessage</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Camel 2.7:</b> When using 
<tt>mapJmsMessage=false</tt> Camel will create a new JMS message to send to a 
new JMS destination
  if you touch the headers (get or set) during the route. Set this option to 
<tt>true</tt> to force Camel to send the original JMS message that was 
received. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>idleTaskExecutionLimit</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies the limit for idle executions of a receive 
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 
(in the case of dynamic scheduling; see the <tt>maxConcurrentConsumers</tt> 
setting). </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>idleConsumerLimit</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>1</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>Camel 2.8.2, 2.9:</b> Specify the limit for the number 
of consumers that are allowed to be idle at any giv
 en time. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>jmsMessageType</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Allows you 
to force the use of a specific <tt>javax.jms.Message</tt> implementation for 
sending JMS messages. Possible values are: <tt>Bytes</tt>, <tt>Map</tt>, 
<tt>Object</tt>, <tt>Stream</tt>, <tt>Text</tt>. By default, Camel would 
determine which JMS message type to use from the In body type. This option 
allows you to specify it. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>jmsKeyFormatStrategy</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>default</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> Pluggable strategy for encoding and decoding 
JMS keys so they can be compliant with the JMS specification. Camel provides 
two implementations out of the box: <tt>default</tt> and <tt>passthrough</tt>. 
The <tt>def
 ault</tt> strategy will safely marshal dots and hyphens (<tt>.</tt> and 
<tt>-</tt>). The <tt>passthrough</tt> strategy leaves the key as is. Can be 
used for JMS brokers which do not care whether JMS header keys contain illegal 
characters. You can provide your own implementation of the 
<tt>org.apache.camel.component.jms.JmsKeyFormatStrategy</tt> and refer to it 
using the <tt>#</tt> notation.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>jmsOperations</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Allows you to use your own implementation of the 
<tt>org.springframework.jms.core.JmsOperations</tt> interface. Camel uses 
<tt>JmsTemplate</tt> as default. Can be used for testing purpose, but not used 
much as stated in the spring API docs. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>lazyCreateTransactionManager</tt> 
</td><td colspan="1" rowspan="1" class="co
 nfluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> If <tt>true</tt>, Camel will create a 
<tt>JmsTransactionManager</tt>, if there is no <tt>transactionManager</tt> 
injected when option <tt>transacted=true</tt>. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>listenerConnectionFactory</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> The JMS connection factory used 
for consuming messages. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>mapJmsMessage</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies whether Camel should auto map the received JMS 
message to an appropiate payload type, such as <tt>javax.jms.TextMessage</tt> 
to a <tt>String</tt> etc. See section about how mapping works below for more 
details. </td></tr><tr><td colspan="1" rowspa
 n="1" class="confluenceTd"> <tt>maxMessagesPerTask</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>-1</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The number of messages per task. -1 is unlimited. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>maximumBrowseSize</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>-1</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Limits the number of messages fetched at most, when 
browsing endpoints using <a shape="rect" href="browse.html" 
title="Browse">Browse</a> or JMX API. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>messageConverter</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> To use a custom Spring 
<tt>org.springframework.jms.support.converter.MessageConverter</tt> so you can 
be 100% in control how to map to/from a <tt>javax.jms.Message</tt>. 
</td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"> <tt>messageIdEnabled</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> When sending, specifies whether 
message IDs should be added. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>messageTimestampEnabled</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> Specifies whether timestamps should be 
enabled by default on sending messages. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>password</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> The password for the connector factory. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>priority</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>4</tt> </td><td colspan="1" rowspan="1" c
 lass="confluenceTd"> Values greater than 1 specify the message priority when 
sending (where 0 is the lowest priority and 9 is the highest). The 
<tt>explicitQosEnabled</tt> option <b>must</b> also be enabled in order for 
this option to have any effect. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>pubSubNoLocal</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Specifies whether to inhibit the delivery of messages 
published by its own connection. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>receiveTimeout</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <em>None</em> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The timeout for receiving messages (in milliseconds). 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>recoveryInterval</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>5000</tt> </td><td cols
 pan="1" rowspan="1" class="confluenceTd"> Specifies the interval between 
recovery attempts, i.e. when a connection is being refreshed, in milliseconds. 
The default is 5000 ms, that is, 5 seconds. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>replyManagerExecutorService</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"><ul class="alternate" 
type="square"><li></li></ul>
 </td><td colspan="1" rowspan="1" class="confluenceTd"> Allows you to configure 
an explicit <tt>ScheduledExeuctorService</tt> to be used for processing timed 
out exchanges when doing request/reply over JMS. By default a single threaded 
pool is used. If you expect many timeouts when doing request/reply you can 
process the timedout exchanges using concurrency by configuring a thread pool 
which has a higher number of threads. See <a shape="rect" 
href="threading-model.html" title="Threading Model">Threading Model</a> for how 
to configure thread pools. See also the <tt>requestTimeout</tt> which is the 
timeout value for request/reply. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>replyToCacheLevelName</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"><ul class="alternate" 
type="square"><li></li></ul>
-</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.1:</b> 
Sets the cache level by name for the reply consumer when doing request/reply 
over JMS. This option only applies when using fixed reply queues (not 
temporary). Camel will by default use: <tt>CACHE_CONSUMER</tt> for exclusive or 
shared w/ <tt>replyToSelectorName</tt>. And <tt>CACHE_SESSION</tt> for shared 
without <tt>replyToSelectorName</tt>. Some JMS brokers such as IBM WebSphere 
may require to set the <tt>replyToCacheLevelName=CACHE_NONE</tt> to work. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>replyToDestinationSelectorName</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Sets the JMS Selector using the fixed name to be used so 
you can filter out your own replies from the others when using a shared queue 
(that is, if you are not using a temporary reply queue). </td></tr><tr><td 
colspan="1" rowspan=
 "1" class="confluenceTd"> <tt>replyToDeliveryPersistent</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Specifies whether to use 
persistent delivery by default for replies. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>subscriptionDurable</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <b>@deprecated:</b> Enabled by 
default, if you specify a <tt>durableSubscriberName</tt> and a 
<tt>clientId</tt>. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>taskExecutor</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Allows you to specify a custom task executor for 
consuming messages. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>taskExecutorSpring2</tt> </td><td colspan="1" 
rowspan="1"
  class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>Camel 2.6:</b> To use when using Spring 2.x with 
Camel. Allows you to specify a custom task executor for consuming messages. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>templateConnectionFactory</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The JMS connection factory used for sending messages. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transactedInOut</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<b>@deprecated:</b> Specifies whether to use transacted mode for sending 
messages using the InOut <a shape="rect" href="exchange-pattern.html" 
title="Exchange Pattern">Exchange Pattern</a>. Applies only to producer 
endpoints. See section <a shape="rect" href="#JMS-transactedCon
 sumption">Enabling Transacted Consumption</a> for more details. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transactionManager</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The Spring transaction manager to use. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>transactionName</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> 
<tt>"JmsConsumer[destinationName]"</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The name of the transaction to use. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>transactionTimeout</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> The timeout value of the 
transaction, if using transacted mode. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>transferException</tt> </td><td 
colspan="1" row
 span="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> If enabled and you are using <a shape="rect" 
href="request-reply.html" title="Request Reply">Request Reply</a> messaging 
(InOut) and an <a shape="rect" href="exchange.html" 
title="Exchange">Exchange</a> failed on the consumer side, then the caused 
<tt>Exception</tt> will be send back in response as a 
<tt>javax.jms.ObjectMessage</tt>. If the client is Camel, the returned 
<tt>Exception</tt> is rethrown. This allows you to use Camel <a shape="rect" 
href="jms.html" title="JMS">JMS</a> as a bridge in your routing - for example, 
using persistent queues to enable robust routing. Notice that if you also have 
<b>transferExchange</b> enabled, this option takes precedence. The caught 
exception is required to be serializable. The original <tt>Exception</tt> on 
the consumer side can be wrapped in an outer exception such as 
<tt>org.apache.camel.RuntimeCamelException</tt> when returned to t
 he producer. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transferExchange</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> You can transfer the exchange over the wire instead of 
just the body and headers. The following fields are transferred: In body, Out 
body, Fault body, In headers, Out headers, Fault headers, exchange properties, 
exchange exception. This requires that the objects are serializable. Camel will 
exclude any non-serializable objects and log it at <tt>WARN</tt> level. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>username</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The 
username for the connector factory. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>useMessageIDAsCorrelationID</tt> </td><td colspan="1" 
rowspan="1" class="confluence
 Td"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
Specifies whether <tt>JMSMessageID</tt> should always be used as 
<tt>JMSCorrelationID</tt> for <b>InOut</b> messages. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>useVersion102</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <b>@deprecated (removed from 
Camel 2.5 onwards):</b> Specifies whether the old JMS API should be used. 
</td></tr></tbody></table>
+</td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.1:</b> 
Sets the cache level by name for the reply consumer when doing request/reply 
over JMS. This option only applies when using fixed reply queues (not 
temporary). Camel will by default use: <tt>CACHE_CONSUMER</tt> for exclusive or 
shared w/ <tt>replyToSelectorName</tt>. And <tt>CACHE_SESSION</tt> for shared 
without <tt>replyToSelectorName</tt>. Some JMS brokers such as IBM WebSphere 
may require to set the <tt>replyToCacheLevelName=CACHE_NONE</tt> to work. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>replyToDestinationSelectorName</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> Sets the JMS Selector using the fixed name to be used so 
you can filter out your own replies from the others when using a shared queue 
(that is, if you are not using a temporary reply queue). </td></tr><tr><td 
colspan="1" rowspan=
 "1" class="confluenceTd"> <tt>replyToDeliveryPersistent</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Specifies whether to use 
persistent delivery by default for replies. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>requestTimeoutCheckerInterval</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>1000</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.2:</b> Configures 
how often Camel should check for timed out <a shape="rect" href="exchange.html" 
title="Exchange">Exchange</a>s when doing request/reply over JMS.By default 
Camel checks once per second. But if you must react faster when a timeout 
occurs, then you can lower this interval, to check more frequently. The timeout 
is determined by the option <em>requestTimeout</em>. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>subscriptionDurable</tt> 
</td><td colspan="1" 
 rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>@deprecated:</b> Enabled by default, if 
you specify a <tt>durableSubscriberName</tt> and a <tt>clientId</tt>. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>taskExecutor</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Allows you 
to specify a custom task executor for consuming messages. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>taskExecutorSpring2</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.6:</b> To use when 
using Spring 2.x with Camel. Allows you to specify a custom task executor for 
consuming messages. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>templateConnectionFactory</tt> </td><td colspan="1" 
rowspan="1" class="confluenc
 eTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The 
JMS connection factory used for sending messages. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>transactedInOut</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>@deprecated:</b> Specifies whether to use 
transacted mode for sending messages using the InOut <a shape="rect" 
href="exchange-pattern.html" title="Exchange Pattern">Exchange Pattern</a>. 
Applies only to producer endpoints. See section <a shape="rect" 
href="#JMS-transactedConsumption">Enabling Transacted Consumption</a> for more 
details. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transactionManager</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The Spring transaction manager to use. </td></tr><tr><td 
colspan="1" rowspan="1" class="
 confluenceTd"> <tt>transactionName</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>"JmsConsumer[destinationName]"</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> The name of the transaction to 
use. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transactionTimeout</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> The timeout value of the transaction, if using transacted 
mode. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transferException</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> If enabled and you are using <a shape="rect" 
href="request-reply.html" title="Request Reply">Request Reply</a> messaging 
(InOut) and an <a shape="rect" href="exchange.html" 
title="Exchange">Exchange</a> failed on the consumer side, then the caused 
<tt>Exception</tt> 
 will be send back in response as a <tt>javax.jms.ObjectMessage</tt>. If the 
client is Camel, the returned <tt>Exception</tt> is rethrown. This allows you 
to use Camel <a shape="rect" href="jms.html" title="JMS">JMS</a> as a bridge in 
your routing - for example, using persistent queues to enable robust routing. 
Notice that if you also have <b>transferExchange</b> enabled, this option takes 
precedence. The caught exception is required to be serializable. The original 
<tt>Exception</tt> on the consumer side can be wrapped in an outer exception 
such as <tt>org.apache.camel.RuntimeCamelException</tt> when returned to the 
producer. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>transferExchange</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> You can transfer the exchange over the wire instead of 
just the body and headers. The following fields are transferred: In body, Out 
body, F
 ault body, In headers, Out headers, Fault headers, exchange properties, 
exchange exception. This requires that the objects are serializable. Camel will 
exclude any non-serializable objects and log it at <tt>WARN</tt> level. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>username</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The 
username for the connector factory. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>useMessageIDAsCorrelationID</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> Specifies whether <tt>JMSMessageID</tt> 
should always be used as <tt>JMSCorrelationID</tt> for <b>InOut</b> messages. 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>useVersion102</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="
 1" rowspan="1" class="confluenceTd"> <b>@deprecated (removed from Camel 2.5 
onwards):</b> Specifies whether the old JMS API should be used. 
</td></tr></tbody></table>
 </div>
 </div>
 


Reply via email to