Modified: websites/production/camel/content/jms.html
==============================================================================
--- websites/production/camel/content/jms.html (original)
+++ websites/production/camel/content/jms.html Fri Mar 23 11:21:16 2012
@@ -185,7 +185,7 @@ In Camel 2.8 onwards, the default settin
 
 <div class="confluenceTableSmall"></div>
 <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>acceptMessagesWhileStopping</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> Specifies whether the consumer accept 
messages while it is stopping. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>acknowledgementModeName</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>AUTO_ACKNOWLEDGE</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> The JMS acknowledgement name, 
which is one of: <tt>TRANSACTED</tt>, <tt>CLIENT_ACKNOWLEDGE</tt>, 
<tt>AUTO_ACKNOWLEDGE</tt>, <tt>DUPS_OK_ACKNOWLEDGE</tt> </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>ackno
 wledgementMode</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>-1</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> The JMS 
acknowledgement mode defined as an Integer. Allows you to set vendor-specific 
extensions to the acknowledgment mode. For the regular modes, it is preferable 
to use the <tt>acknowledgementModeName</tt> instead. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>alwaysCopyMessage</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> If <tt>true</tt>, Camel will 
always make a JMS message copy of the message when it is passed to the producer 
for sending. Copying the message is needed in some situations, such as when a 
<tt>replyToDestinationSelectorName</tt> is set (incidentally, Camel will set 
the <tt>alwaysCopyMessage</tt> option to <tt>true</tt>, if a 
<tt>replyToDestinationSelectorName</tt> is set) </td></tr><tr><td colspan="1" 
rowspan="1
 " class="confluenceTd"> <tt>asyncConsumer</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Camel 2.9:</b> Whether the 
<tt>JmsConsumer</tt> processes the <a shape="rect" href="exchange.html" 
title="Exchange">Exchange</a> <a shape="rect" 
href="asynchronous-routing-engine.html" title="Asynchronous Routing 
Engine">asynchronously</a>. If enabled then the <tt>JmsConsumer</tt> may pickup 
the next message from the JMS queue, while the previous message is being 
processed asynchronously (by the <a shape="rect" 
href="asynchronous-routing-engine.html" title="Asynchronous Routing 
Engine">Asynchronous Routing Engine</a>). This means that messages may be 
processed not 100% strictly in order. If disabled (as default) then the <a 
shape="rect" href="exchange.html" title="Exchange">Exchange</a> is fully 
processed before the <tt>JmsConsumer</tt> will pickup the next message from the 
JMS queue. Note if <tt>transa
 cted</tt> has been enabled, then <tt>asyncConsumer=true</tt> does not run 
asynchronously, as transactions must be executed synchronously (Camel 3.0 may 
support async transactions). </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>asyncStartListener</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> Whether to startup the 
<tt>JmsConsumer</tt> message listener asynchronously, when starting a route. 
For example if a <tt>JmsConsumer</tt> cannot get a connection to a remote JMS 
broker, then it may block while retrying and/or failover. This will cause Camel 
to block while starting routes. By setting this option to <tt>true</tt>, you 
will let routes startup, while the <tt>JmsConsumer</tt> connects to the JMS 
broker using a dedicated thread in asynchronous mode. If this option is used, 
then beware that if the connection could not be established, then an exception 
is l
 ogged at <tt>WARN</tt> level, and the consumer will not be able to receive 
messages; You can then restart the route to retry. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>autoStartup</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Specifies whether the consumer 
container should auto-startup. </td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>cacheLevelName</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul class="alternate" type="square"><li></li></ul>
+<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>acceptMessagesWhileStopping</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> Specifies whether the consumer accept 
messages while it is stopping. You may consider enabling this option, if you 
start and stop <a shape="rect" href="jms.html" title="JMS">JMS</a> routes at 
runtime, while there are still messages enqued on the queue. If this option is 
<tt>false</tt>, and you stop the <a shape="rect" href="jms.html" 
title="JMS">JMS</a> route, then messages may be rejected, and the JMS broker 
would have to attempt redeliveries, which yet again may be rejected, and 
eventually the message may be moved at a d
 ead letter queue on the JMS broker. To avoid this its recommended to enable 
this option. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>acknowledgementModeName</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>AUTO_ACKNOWLEDGE</tt> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> The JMS acknowledgement name, which is one 
of: <tt>TRANSACTED</tt>, <tt>CLIENT_ACKNOWLEDGE</tt>, 
<tt>AUTO_ACKNOWLEDGE</tt>, <tt>DUPS_OK_ACKNOWLEDGE</tt> </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>acknowledgementMode</tt> 
</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>-1</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> The JMS acknowledgement mode 
defined as an Integer. Allows you to set vendor-specific extensions to the 
acknowledgment mode. For the regular modes, it is preferable to use the 
<tt>acknowledgementModeName</tt> instead. </td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"> <tt>alwaysCopyMes
 sage</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> If 
<tt>true</tt>, Camel will always make a JMS message copy of the message when it 
is passed to the producer for sending. Copying the message is needed in some 
situations, such as when a <tt>replyToDestinationSelectorName</tt> is set 
(incidentally, Camel will set the <tt>alwaysCopyMessage</tt> option to 
<tt>true</tt>, if a <tt>replyToDestinationSelectorName</tt> is set) 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>asyncConsumer</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 
2.9:</b> Whether the <tt>JmsConsumer</tt> processes the <a shape="rect" 
href="exchange.html" title="Exchange">Exchange</a> <a shape="rect" 
href="asynchronous-routing-engine.html" title="Asynchronous Routing 
Engine">asynchronously</a>. If enabled then the <tt>J
 msConsumer</tt> may pickup the next message from the JMS queue, while the 
previous message is being processed asynchronously (by the <a shape="rect" 
href="asynchronous-routing-engine.html" title="Asynchronous Routing 
Engine">Asynchronous Routing Engine</a>). This means that messages may be 
processed not 100% strictly in order. If disabled (as default) then the <a 
shape="rect" href="exchange.html" title="Exchange">Exchange</a> is fully 
processed before the <tt>JmsConsumer</tt> will pickup the next message from the 
JMS queue. Note if <tt>transacted</tt> has been enabled, then 
<tt>asyncConsumer=true</tt> does not run asynchronously, as transactions must 
be executed synchronously (Camel 3.0 may support async transactions). 
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> 
<tt>asyncStartListener</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>Camel 2.10:</b> Whether to startup the <
 tt>JmsConsumer</tt> message listener asynchronously, when starting a route. 
For example if a <tt>JmsConsumer</tt> cannot get a connection to a remote JMS 
broker, then it may block while retrying and/or failover. This will cause Camel 
to block while starting routes. By setting this option to <tt>true</tt>, you 
will let routes startup, while the <tt>JmsConsumer</tt> connects to the JMS 
broker using a dedicated thread in asynchronous mode. If this option is used, 
then beware that if the connection could not be established, then an exception 
is logged at <tt>WARN</tt> level, and the consumer will not be able to receive 
messages; You can then restart the route to retry. </td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>autoStartup</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td 
colspan="1" rowspan="1" class="confluenceTd"> Specifies whether the consumer 
container should auto-startup. </td></tr><tr><td colspan="1" rowspan="1" cl
 ass="confluenceTd"> <tt>cacheLevelName</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 
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>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>


Reply via email to