This is an automated email from the ASF dual-hosted git repository.

tsato pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 9bfb28b  CAMEL-14178: camel-amqp - Add tests for AMQP annotations
9bfb28b is described below

commit 9bfb28b78c7156f1c792efd96fbed8a9cffc7af1
Author: Tadayoshi Sato <[email protected]>
AuthorDate: Wed Nov 20 17:19:18 2019 +0900

    CAMEL-14178: camel-amqp - Add tests for AMQP annotations
---
 .../camel-amqp/src/main/docs/amqp-component.adoc   |  16 +--
 .../apache/camel/component/amqp/AMQPRouteTest.java |  82 +++++++++++--
 .../endpoint/dsl/AMQPEndpointBuilderFactory.java   | 133 +++++++++------------
 3 files changed, 140 insertions(+), 91 deletions(-)

diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc 
b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 4652161..323501a 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -166,7 +166,7 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *clientId* (common) | 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. If 
using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
-| *connectionFactory* (common) | Sets the default connection factory to be 
used if a connection factory is not specified for either 
setTemplateConnectionFactory(ConnectionFactory) or 
setListenerConnectionFactory(ConnectionFactory) |  | ConnectionFactory
+| *connectionFactory* (common) | The connection factory to be use. A 
connection factory must be configured either on the component or endpoint. |  | 
ConnectionFactory
 | *disableReplyTo* (common) | Specifies whether Camel ignores the JMSReplyTo 
header in messages. If true, Camel does not send a reply back to the 
destination specified in the JMSReplyTo header. You can use this option if you 
want Camel to consume from a route and you do not want Camel to automatically 
send back a reply message because another component in your code handles the 
reply message. You can also use this option if you want to use Camel as a proxy 
between different message broker [...]
 | *durableSubscriptionName* (common) | The durable subscriber name for 
specifying durable topic subscriptions. The clientId option must be configured 
as well. |  | String
 | *jmsMessageType* (common) | Allows you to force the use of a specific 
javax.jms.Message implementation for sending JMS messages. Possible values are: 
Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS 
message type to use from the In body type. This option allows you to specify 
it. |  | JmsMessageType
@@ -185,11 +185,11 @@ with the following path and query parameters:
 | *subscriptionName* (consumer) | Set 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 this message listener 
container) is allowed for each subscription, except for a shared subscription 
(which requires JMS 2.0). |  | String
 | *subscriptionShared* (consumer) | Set whether to make the subscription 
shared. The shared subscription name to be used can be specified through the 
subscriptionName property. Default is false. Set this to true to register a 
shared subscription, typically in combination with a subscriptionName 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 subscrip [...]
 | *acceptMessagesWhileStopping* (consumer) | Specifies whether the consumer 
accept messages while it is stopping. You may consider enabling this option, if 
you start and stop JMS routes at runtime, while there are still messages 
enqueued on the queue. If this option is false, and you stop the JMS 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 dead letter queue on th [...]
-| *allowReplyManagerQuickStop* (consumer) | Whether the 
DefaultMessageListenerContainer used in the reply managers for request-reply 
messaging allow the DefaultMessageListenerContainer#runningAllowed() flag to 
quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled, 
and org.apache.camel.CamelContext is currently being stopped. This quick stop 
ability is enabled by default in the regular JMS consumers but to enable for 
reply managers you must enable this flag. | fal [...]
+| *allowReplyManagerQuickStop* (consumer) | Whether the 
DefaultMessageListenerContainer used in the reply managers for request-reply 
messaging allow the DefaultMessageListenerContainer.runningAllowed flag to 
quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, 
and org.apache.camel.CamelContext is currently being stopped. This quick stop 
ability is enabled by default in the regular JMS consumers but to enable for 
reply managers you must enable this flag. | false | [...]
 | *consumerType* (consumer) | The consumer type to use, which can be one of: 
Simple, Default, or Custom. The consumer type determines which Spring JMS 
listener to use. Default will use 
org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will 
use org.springframework.jms.listener.SimpleMessageListenerContainer. When 
Custom is specified, the MessageListenerContainerFactory defined by the 
messageListenerContainerFactory option will determine what 
org.springframework.jms. [...]
 | *defaultTaskExecutorType* (consumer) | Specifies what default TaskExecutor 
type to use in the DefaultMessageListenerContainer, for both consumer endpoints 
and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync 
(uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's 
ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not 
set, it defaults to the previous behaviour, which uses a cached thread pool for 
consumer endpoints and SimpleAsy [...]
 | *eagerLoadingOfProperties* (consumer) | Enables eager loading of JMS 
properties and payload as soon as a message is loaded which generally is 
inefficient as the JMS properties may not be required but sometimes can catch 
early any issues with the underlying JMS provider and the use of JMS 
properties. See also the option eagerPoisonBody. | false | boolean
-| *eagerPoisonBody* (consumer) | If eagerLoadingOfProperties is enabled and 
the JMS message payload (JMS body or JMS properties) (cannot be read/mapped), 
then set this text as the message body instead so the message can be processed 
(the cause of the poison are already stored as exception on the Exchange). This 
can be turned off by setting eagerPoisonBody=false. See also the option 
eagerLoadingOfProperties. | Poison JMS message due to ${exception.message} | 
String
+| *eagerPoisonBody* (consumer) | If eagerLoadingOfProperties is enabled and 
the JMS message payload (JMS body or JMS properties) is poison (cannot be 
read/mapped), then set this text as the message body instead so the message can 
be processed (the cause of the poison are already stored as exception on the 
Exchange). This can be turned off by setting eagerPoisonBody=false. See also 
the option eagerLoadingOfProperties. | Poison JMS message due to 
${exception.message} | String
 | *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. |  | ExchangePattern
 | *exposeListenerSession* (consumer) | Specifies whether the listener session 
should be exposed when consuming messages. | false | boolean
@@ -199,7 +199,7 @@ with the following path and query parameters:
 | *deliveryMode* (producer) | Specifies the delivery mode to be used. 
Possibles values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 
1 and PERSISTENT = 2. |  | Integer
 | *deliveryPersistent* (producer) | Specifies whether persistent delivery is 
used by default. | true | boolean
 | *explicitQosEnabled* (producer) | Set if the deliveryMode, priority or 
timeToLive qualities of service should be used when sending messages. This 
option is based on Spring's JmsTemplate. The deliveryMode, priority and 
timeToLive options are applied to the current endpoint. This contrasts with the 
preserveMessageQos option, which operates at message granularity, reading QoS 
properties exclusively from the Camel In message headers. | false | Boolean
-| *formatDateHeadersToIso8601* (producer) | Sets whether date headers should 
be formatted according to the ISO 8601 standard. | false | boolean
+| *formatDateHeadersToIso8601* (producer) | Sets whether JMS date properties 
should be formatted according to the ISO 8601 standard. | false | boolean
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
 | *preserveMessageQos* (producer) | Set to true, 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 JMSPriority, 
JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. 
If not provided, Camel will fall back to use the values from the endpoint 
instead. So, when using this option, the headers override the values from the 
endpoint. The explicitQosEnable [...]
 | *priority* (producer) | Values greater than 1 specify the message priority 
when sending (where 0 is the lowest priority and 9 is the highest). The 
explicitQosEnabled option must also be enabled in order for this option to have 
any effect. | 4 | int
@@ -213,14 +213,14 @@ with the following path and query parameters:
 | *allowAdditionalHeaders* (producer) | This option is used to allow 
additional headers which may have values that are invalid according to JMS 
specification. For example some message systems such as WMQ do this with header 
names using prefix JMS_IBM_MQMD_ containing values with byte array or other 
invalid types. You can specify multiple header names separated by comma, and 
use as suffix for wildcard matching. |  | String
 | *allowNullBody* (producer) | Whether to allow sending messages with no body. 
If this option is false and the message body is null, then an JMSException is 
thrown. | true | boolean
 | *alwaysCopyMessage* (producer) | If true, 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 
replyToDestinationSelectorName is set (incidentally, Camel will set the 
alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set) | 
false | boolean
-| *correlationProperty* (producer) | Use this JMS property to correlate 
messages in InOut exchange pattern (request-reply) instead of JMSCorrelationID 
property. This allows you to exchange messages with systems that do not 
correlate messages using JMSCorrelationID JMS property. If used 
JMSCorrelationID will not be used or set by Camel. The value of here named 
property will be generated if not supplied in the header of the message under 
the same name. |  | String
+| *correlationProperty* (producer) | When using InOut exchange pattern use 
this JMS property instead of JMSCorrelationID JMS property to correlate 
messages. If set messages will be correlated solely on the value of this 
property JMSCorrelationID property will be ignored and not set by Camel. |  | 
String
 | *disableTimeToLive* (producer) | 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 requestTimeout 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 disableTimeToLive=true to not set a time to live value on the sent 
message. Then the message w [...]
 | *forceSendOriginalMessage* (producer) | When using mapJmsMessage=false 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 true to force Camel 
to send the original JMS message that was received. | false | boolean
 | *includeSentJMSMessageID* (producer) | Only applicable when sending to JMS 
destination using InOnly (eg fire and forget). Enabling this option will enrich 
the Camel Exchange with the actual JMSMessageID that was used by the JMS client 
when the message was sent to the JMS destination. | false | boolean
 | *replyToCacheLevelName* (producer) | 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: 
CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And 
CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as 
IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. 
Note: If using temporary queues then CACHE [...]
 | *replyToDestinationSelector Name* (producer) | 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). |  | String
 | *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is 
enabled or not. Message payloads of streaming kind such as files, InputStream, 
etc will either by sent as BytesMessage or StreamMessage. This option controls 
which kind will be used. By default BytesMessage is used which enforces the 
entire message payload to be read into memory. By enabling this option the 
message payload is read into memory in chunks and each chunk is then written to 
the StreamMessage until no [...]
-| *allowSerializedHeaders* (advanced) | Controls whether or not to include 
serialized headers. Applies only when isTransferExchange() is true. This 
requires that the objects are serializable. Camel will exclude any 
non-serializable objects and log it at WARN level. | false | boolean
+| *allowSerializedHeaders* (advanced) | Controls whether or not to include 
serialized headers. Applies only when transferExchange is true. This requires 
that the objects are serializable. Camel will exclude any non-serializable 
objects and log it at WARN level. | false | boolean
 | *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message 
listener asynchronously, when starting a route. For example if a JmsConsumer 
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 true, you will let routes startup, while the 
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous 
mode. If this option is used, the [...]
 | *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message 
listener asynchronously, when stopping a route. | false | boolean
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities | false | boolean
@@ -236,9 +236,9 @@ with the following path and query parameters:
 | *maxMessagesPerTask* (advanced) | The number of messages per task. -1 is 
unlimited. If you use a range for concurrent consumers (eg min max), then this 
option can be used to set a value to eg 100 to control how fast the consumers 
will shrink when less work is required. | -1 | int
 | *messageConverter* (advanced) | To use a custom Spring 
org.springframework.jms.support.converter.MessageConverter so you can be in 
control how to map to/from a javax.jms.Message. |  | MessageConverter
 | *messageCreatedStrategy* (advanced) | To use the given 
MessageCreatedStrategy which are invoked when Camel creates new instances of 
javax.jms.Message objects when Camel is sending a JMS message. |  | 
MessageCreatedStrategy
-| *messageIdEnabled* (advanced) | When sending, specifies whether message IDs 
should be added. This is just an hint to the JMS Broker. If the JMS provider 
accepts this hint, these messages must have the message ID set to null; if the 
provider ignores the hint, the message ID must be set to its normal unique 
value | true | boolean
+| *messageIdEnabled* (advanced) | When sending, specifies whether message IDs 
should be added. This is just an hint to the JMS broker. If the JMS provider 
accepts this hint, these messages must have the message ID set to null; if the 
provider ignores the hint, the message ID must be set to its normal unique 
value. | true | boolean
 | *messageListenerContainer Factory* (advanced) | Registry ID of the 
MessageListenerContainerFactory used to determine what 
org.springframework.jms.listener.AbstractMessageListenerContainer to use to 
consume messages. Setting this will automatically set consumerType to Custom. | 
 | MessageListenerContainerFactory
-| *messageTimestampEnabled* (advanced) | Specifies whether timestamps should 
be enabled by default on sending messages. This is just an hint to the JMS 
Broker. If the JMS provider accepts this hint, these messages must have the 
timestamp set to zero; if the provider ignores the hint, the timestamp must be 
set to its normal value. | true | boolean
+| *messageTimestampEnabled* (advanced) | Specifies whether timestamps should 
be enabled by default on sending messages. This is just an hint to the JMS 
broker. If the JMS provider accepts this hint, these messages must have the 
timestamp set to zero; if the provider ignores the hint the timestamp must be 
set to its normal value. | true | boolean
 | *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of 
messages published by its own connection. | false | boolean
 | *receiveTimeout* (advanced) | The timeout for receiving messages (in 
milliseconds). | 1000 | long
 | *recoveryInterval* (advanced) | 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. | 5000 | long
diff --git 
a/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
 
b/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
index 9ada047..1da9714 100644
--- 
a/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
+++ 
b/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
@@ -16,6 +16,15 @@
  */
 package org.apache.camel.component.amqp;
 
+import java.util.function.Consumer;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+
 import org.apache.activemq.broker.BrokerService;
 import org.apache.camel.CamelContext;
 import org.apache.camel.EndpointInject;
@@ -23,6 +32,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.qpid.jms.message.JmsMessage;
+import org.apache.qpid.jms.provider.amqp.message.AmqpJmsMessageFacade;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -94,6 +105,53 @@ public class AMQPRouteTest extends CamelTestSupport {
         resultEndpoint.assertIsSatisfied();
     }
 
+    @Test
+    public void testNoAmqpAnnotations() throws Exception {
+        resultEndpoint.expectedMessageCount(1);
+        resultEndpoint.message(0).header("cheese").isEqualTo(123);
+        // default doesn't map annotations to headers
+        resultEndpoint.message(0).header("JMS_AMQP_MA_cheese").isNull();
+        sendAmqpMessage(context.getComponent("amqp-customized", 
AMQPComponent.class),
+            "ping", expectedBody, facade -> {
+                try {
+                    facade.setApplicationProperty("cheese", 123);
+                    facade.setTracingAnnotation("cheese", 456);
+                } catch (JMSException e) {
+                    throw new RuntimeException(e);
+                }
+            });
+        resultEndpoint.assertIsSatisfied();
+    }
+
+    @Test
+    public void testAmqpAnnotations() throws Exception {
+        resultEndpoint.expectedMessageCount(1);
+        resultEndpoint.message(0).header("cheese").isEqualTo(123);
+        resultEndpoint.message(0).header("JMS_AMQP_MA_cheese").isEqualTo(456);
+        sendAmqpMessage(context.getComponent("amqp-customized2", 
AMQPComponent.class),
+            "ping2", expectedBody, facade -> {
+                try {
+                    facade.setApplicationProperty("cheese", 123);
+                    facade.setTracingAnnotation("cheese", 456);
+                } catch (JMSException e) {
+                    throw new RuntimeException(e);
+                }
+            });
+        resultEndpoint.assertIsSatisfied();
+    }
+
+    private void sendAmqpMessage(AMQPComponent component, String queue, String 
body,
+                                 Consumer<AmqpJmsMessageFacade> 
messageCustomizer) throws JMSException {
+        ConnectionFactory factory = component.getConnectionFactory();
+        try (Connection connection = factory.createConnection();
+             Session session = connection.createSession();
+             MessageProducer producer = 
session.createProducer(session.createQueue(queue))) {
+            TextMessage message = session.createTextMessage(body);
+            messageCustomizer.accept((AmqpJmsMessageFacade) ((JmsMessage) 
message).getFacade());
+            producer.send(message);
+        }
+    }
+
     // Routes fixtures
 
     @Override
@@ -101,6 +159,8 @@ public class AMQPRouteTest extends CamelTestSupport {
         CamelContext camelContext = super.createCamelContext();
         camelContext.getRegistry().bind("amqpConnection", 
discoverAMQP(camelContext));
         camelContext.addComponent("amqp-customized", 
amqpComponent("amqp://localhost:" + amqpPort));
+        camelContext.addComponent("amqp-customized2", 
amqpComponent("amqp://localhost:" + amqpPort));
+        camelContext.getComponent("amqp-customized2", 
AMQPComponent.class).setIncludeAmqpAnnotations(true);
         return camelContext;
     }
 
@@ -112,24 +172,28 @@ public class AMQPRouteTest extends CamelTestSupport {
                     .to("log:routing")
                     .to("mock:result");
 
+                from("amqp-customized2:queue:ping2")
+                    .to("log:routing")
+                    .to("mock:result");
+
                 from("amqp-customized:queue:inOut")
-                        .setBody().constant("response");
+                    .setBody().constant("response");
 
                 from("amqp-customized:topic:ping")
-                        .to("log:routing")
-                        .to("mock:result");
+                    .to("log:routing")
+                    .to("mock:result");
 
                 from("amqp-customized:topic:ping")
-                        .to("log:routing")
-                        .to("mock:result");
+                    .to("log:routing")
+                    .to("mock:result");
 
                 from("amqp-customized:queue:wildcard.>")
-                        .to("log:routing")
-                        .to("mock:result");
+                    .to("log:routing")
+                    .to("mock:result");
 
                 from("amqp:queue:uriEndpoint")
-                        .to("log:routing")
-                        .to("mock:result");
+                    .to("log:routing")
+                    .to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
index c95a453..80b6069 100644
--- 
a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
@@ -59,10 +59,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets the default connection factory to be used if a connection
-         * factory is not specified for either
-         * setTemplateConnectionFactory(ConnectionFactory) or
-         * setListenerConnectionFactory(ConnectionFactory).
+         * The connection factory to be use. A connection factory must be
+         * configured either on the component or endpoint.
          * 
          * The option is a: <code>javax.jms.ConnectionFactory</code> type.
          * 
@@ -74,10 +72,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets the default connection factory to be used if a connection
-         * factory is not specified for either
-         * setTemplateConnectionFactory(ConnectionFactory) or
-         * setListenerConnectionFactory(ConnectionFactory).
+         * The connection factory to be use. A connection factory must be
+         * configured either on the component or endpoint.
          * 
          * The option will be converted to a
          * <code>javax.jms.ConnectionFactory</code> type.
@@ -684,11 +680,11 @@ public interface AMQPEndpointBuilderFactory {
         /**
          * Whether the DefaultMessageListenerContainer used in the reply
          * managers for request-reply messaging allow the
-         * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
-         * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
-         * and org.apache.camel.CamelContext is currently being stopped. This
-         * quick stop ability is enabled by default in the regular JMS 
consumers
-         * but to enable for reply managers you must enable this flag.
+         * DefaultMessageListenerContainer.runningAllowed flag to quick stop in
+         * case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and
+         * org.apache.camel.CamelContext is currently being stopped. This quick
+         * stop ability is enabled by default in the regular JMS consumers but
+         * to enable for reply managers you must enable this flag.
          * 
          * The option is a: <code>boolean</code> type.
          * 
@@ -702,11 +698,11 @@ public interface AMQPEndpointBuilderFactory {
         /**
          * Whether the DefaultMessageListenerContainer used in the reply
          * managers for request-reply messaging allow the
-         * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
-         * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
-         * and org.apache.camel.CamelContext is currently being stopped. This
-         * quick stop ability is enabled by default in the regular JMS 
consumers
-         * but to enable for reply managers you must enable this flag.
+         * DefaultMessageListenerContainer.runningAllowed flag to quick stop in
+         * case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and
+         * org.apache.camel.CamelContext is currently being stopped. This quick
+         * stop ability is enabled by default in the regular JMS consumers but
+         * to enable for reply managers you must enable this flag.
          * 
          * The option will be converted to a <code>boolean</code> type.
          * 
@@ -841,11 +837,11 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * If eagerLoadingOfProperties is enabled and the JMS message payload
-         * (JMS body or JMS properties) (cannot be read/mapped), then set this
-         * text as the message body instead so the message can be processed 
(the
-         * cause of the poison are already stored as exception on the 
Exchange).
-         * This can be turned off by setting eagerPoisonBody=false. See also 
the
-         * option eagerLoadingOfProperties.
+         * (JMS body or JMS properties) is poison (cannot be read/mapped), then
+         * set this text as the message body instead so the message can be
+         * processed (the cause of the poison are already stored as exception 
on
+         * the Exchange). This can be turned off by setting
+         * eagerPoisonBody=false. See also the option eagerLoadingOfProperties.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -997,7 +993,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Controls whether or not to include serialized headers. Applies only
-         * when isTransferExchange() is true. This requires that the objects 
are
+         * when transferExchange is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and 
log
          * it at WARN level.
          * 
@@ -1012,7 +1008,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Controls whether or not to include serialized headers. Applies only
-         * when isTransferExchange() is true. This requires that the objects 
are
+         * when transferExchange is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and 
log
          * it at WARN level.
          * 
@@ -1496,7 +1492,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * When sending, specifies whether message IDs should be added. This is
-         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * just an hint to the JMS broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
          * provider ignores the hint, the message ID must be set to its normal
          * unique value.
@@ -1512,7 +1508,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * When sending, specifies whether message IDs should be added. This is
-         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * just an hint to the JMS broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
          * provider ignores the hint, the message ID must be set to its normal
          * unique value.
@@ -1562,9 +1558,9 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Specifies whether timestamps should be enabled by default on sending
-         * messages. This is just an hint to the JMS Broker. If the JMS 
provider
+         * messages. This is just an hint to the JMS broker. If the JMS 
provider
          * accepts this hint, these messages must have the timestamp set to
-         * zero; if the provider ignores the hint, the timestamp must be set to
+         * zero; if the provider ignores the hint the timestamp must be set to
          * its normal value.
          * 
          * The option is a: <code>boolean</code> type.
@@ -1578,9 +1574,9 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Specifies whether timestamps should be enabled by default on sending
-         * messages. This is just an hint to the JMS Broker. If the JMS 
provider
+         * messages. This is just an hint to the JMS broker. If the JMS 
provider
          * accepts this hint, these messages must have the timestamp set to
-         * zero; if the provider ignores the hint, the timestamp must be set to
+         * zero; if the provider ignores the hint the timestamp must be set to
          * its normal value.
          * 
          * The option will be converted to a <code>boolean</code> type.
@@ -2021,10 +2017,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets the default connection factory to be used if a connection
-         * factory is not specified for either
-         * setTemplateConnectionFactory(ConnectionFactory) or
-         * setListenerConnectionFactory(ConnectionFactory).
+         * The connection factory to be use. A connection factory must be
+         * configured either on the component or endpoint.
          * 
          * The option is a: <code>javax.jms.ConnectionFactory</code> type.
          * 
@@ -2036,10 +2030,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets the default connection factory to be used if a connection
-         * factory is not specified for either
-         * setTemplateConnectionFactory(ConnectionFactory) or
-         * setListenerConnectionFactory(ConnectionFactory).
+         * The connection factory to be use. A connection factory must be
+         * configured either on the component or endpoint.
          * 
          * The option will be converted to a
          * <code>javax.jms.ConnectionFactory</code> type.
@@ -2277,8 +2269,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets whether date headers should be formatted according to the ISO
-         * 8601 standard.
+         * Sets whether JMS date properties should be formatted according to 
the
+         * ISO 8601 standard.
          * 
          * The option is a: <code>boolean</code> type.
          * 
@@ -2290,8 +2282,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets whether date headers should be formatted according to the ISO
-         * 8601 standard.
+         * Sets whether JMS date properties should be formatted according to 
the
+         * ISO 8601 standard.
          * 
          * The option will be converted to a <code>boolean</code> type.
          * 
@@ -2736,13 +2728,10 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Use this JMS property to correlate messages in InOut exchange 
pattern
-         * (request-reply) instead of JMSCorrelationID property. This allows 
you
-         * to exchange messages with systems that do not correlate messages
-         * using JMSCorrelationID JMS property. If used JMSCorrelationID will
-         * not be used or set by Camel. The value of here named property will 
be
-         * generated if not supplied in the header of the message under the 
same
-         * name.
+         * When using InOut exchange pattern use this JMS property instead of
+         * JMSCorrelationID JMS property to correlate messages. If set messages
+         * will be correlated solely on the value of this property
+         * JMSCorrelationID property will be ignored and not set by Camel.
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -2925,7 +2914,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Controls whether or not to include serialized headers. Applies only
-         * when isTransferExchange() is true. This requires that the objects 
are
+         * when transferExchange is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and 
log
          * it at WARN level.
          * 
@@ -2940,7 +2929,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Controls whether or not to include serialized headers. Applies only
-         * when isTransferExchange() is true. This requires that the objects 
are
+         * when transferExchange is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and 
log
          * it at WARN level.
          * 
@@ -3424,7 +3413,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * When sending, specifies whether message IDs should be added. This is
-         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * just an hint to the JMS broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
          * provider ignores the hint, the message ID must be set to its normal
          * unique value.
@@ -3440,7 +3429,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * When sending, specifies whether message IDs should be added. This is
-         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * just an hint to the JMS broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
          * provider ignores the hint, the message ID must be set to its normal
          * unique value.
@@ -3490,9 +3479,9 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Specifies whether timestamps should be enabled by default on sending
-         * messages. This is just an hint to the JMS Broker. If the JMS 
provider
+         * messages. This is just an hint to the JMS broker. If the JMS 
provider
          * accepts this hint, these messages must have the timestamp set to
-         * zero; if the provider ignores the hint, the timestamp must be set to
+         * zero; if the provider ignores the hint the timestamp must be set to
          * its normal value.
          * 
          * The option is a: <code>boolean</code> type.
@@ -3506,9 +3495,9 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Specifies whether timestamps should be enabled by default on sending
-         * messages. This is just an hint to the JMS Broker. If the JMS 
provider
+         * messages. This is just an hint to the JMS broker. If the JMS 
provider
          * accepts this hint, these messages must have the timestamp set to
-         * zero; if the provider ignores the hint, the timestamp must be set to
+         * zero; if the provider ignores the hint the timestamp must be set to
          * its normal value.
          * 
          * The option will be converted to a <code>boolean</code> type.
@@ -3949,10 +3938,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets the default connection factory to be used if a connection
-         * factory is not specified for either
-         * setTemplateConnectionFactory(ConnectionFactory) or
-         * setListenerConnectionFactory(ConnectionFactory).
+         * The connection factory to be use. A connection factory must be
+         * configured either on the component or endpoint.
          * 
          * The option is a: <code>javax.jms.ConnectionFactory</code> type.
          * 
@@ -3963,10 +3950,8 @@ public interface AMQPEndpointBuilderFactory {
             return this;
         }
         /**
-         * Sets the default connection factory to be used if a connection
-         * factory is not specified for either
-         * setTemplateConnectionFactory(ConnectionFactory) or
-         * setListenerConnectionFactory(ConnectionFactory).
+         * The connection factory to be use. A connection factory must be
+         * configured either on the component or endpoint.
          * 
          * The option will be converted to a
          * <code>javax.jms.ConnectionFactory</code> type.
@@ -4149,7 +4134,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Controls whether or not to include serialized headers. Applies only
-         * when isTransferExchange() is true. This requires that the objects 
are
+         * when transferExchange is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and 
log
          * it at WARN level.
          * 
@@ -4164,7 +4149,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Controls whether or not to include serialized headers. Applies only
-         * when isTransferExchange() is true. This requires that the objects 
are
+         * when transferExchange is true. This requires that the objects are
          * serializable. Camel will exclude any non-serializable objects and 
log
          * it at WARN level.
          * 
@@ -4644,7 +4629,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * When sending, specifies whether message IDs should be added. This is
-         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * just an hint to the JMS broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
          * provider ignores the hint, the message ID must be set to its normal
          * unique value.
@@ -4660,7 +4645,7 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * When sending, specifies whether message IDs should be added. This is
-         * just an hint to the JMS Broker. If the JMS provider accepts this
+         * just an hint to the JMS broker. If the JMS provider accepts this
          * hint, these messages must have the message ID set to null; if the
          * provider ignores the hint, the message ID must be set to its normal
          * unique value.
@@ -4710,9 +4695,9 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Specifies whether timestamps should be enabled by default on sending
-         * messages. This is just an hint to the JMS Broker. If the JMS 
provider
+         * messages. This is just an hint to the JMS broker. If the JMS 
provider
          * accepts this hint, these messages must have the timestamp set to
-         * zero; if the provider ignores the hint, the timestamp must be set to
+         * zero; if the provider ignores the hint the timestamp must be set to
          * its normal value.
          * 
          * The option is a: <code>boolean</code> type.
@@ -4726,9 +4711,9 @@ public interface AMQPEndpointBuilderFactory {
         }
         /**
          * Specifies whether timestamps should be enabled by default on sending
-         * messages. This is just an hint to the JMS Broker. If the JMS 
provider
+         * messages. This is just an hint to the JMS broker. If the JMS 
provider
          * accepts this hint, these messages must have the timestamp set to
-         * zero; if the provider ignores the hint, the timestamp must be set to
+         * zero; if the provider ignores the hint the timestamp must be set to
          * its normal value.
          * 
          * The option will be converted to a <code>boolean</code> type.

Reply via email to