Component docs

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c14e0063
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c14e0063
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c14e0063

Branch: refs/heads/master
Commit: c14e0063bb2a239faaec4a164e17b3db880503ac
Parents: 30e8e8f
Author: Claus Ibsen <davscl...@apache.org>
Authored: Mon May 18 12:31:24 2015 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Mon May 18 12:31:24 2015 +0200

----------------------------------------------------------------------
 .../camel/component/sjms/SjmsComponent.java     |  44 +++--
 .../camel/component/sjms/SjmsEndpoint.java      | 174 +++++--------------
 .../sjms/tx/BatchTransactionCommitStrategy.java |   3 -
 .../tx/DefaultTransactionCommitStrategy.java    |  12 --
 4 files changed, 70 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c14e0063/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsComponent.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsComponent.java
index 930dc0c..f2eebc6 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsComponent.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsComponent.java
@@ -180,19 +180,13 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
     }
 
     /**
-     * Sets the ConnectionFactory value of connectionFactory for this instance
-     * of SjmsComponent.
+     * A ConnectionFactory is required to enable the SjmsComponent.
+     * It can be set directly or set set as part of a ConnectionResource.
      */
     public void setConnectionFactory(ConnectionFactory connectionFactory) {
         this.connectionFactory = connectionFactory;
     }
 
-    /**
-     * Gets the ConnectionFactory value of connectionFactory for this instance
-     * of SjmsComponent.
-     *
-     * @return the connectionFactory
-     */
     public ConnectionFactory getConnectionFactory() {
         return connectionFactory;
     }
@@ -202,11 +196,18 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
         return this.headerFilterStrategy;
     }
 
+    /**
+     * To use a custom HeaderFilterStrategy to filter header to and from Camel 
message.
+     */
     @Override
     public void setHeaderFilterStrategy(HeaderFilterStrategy 
headerFilterStrategy) {
         this.headerFilterStrategy = headerFilterStrategy;
     }
 
+    /**
+     * A ConnectionResource is an interface that allows for customization and 
container control of the ConnectionFactory.
+     * See Plugable Connection Resource Management for further details.
+     */
     public void setConnectionResource(ConnectionResource connectionResource) {
         this.connectionResource = connectionResource;
     }
@@ -215,6 +216,9 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
         return connectionResource;
     }
 
+    /**
+     * The maximum number of connections available to endpoints started under 
this component
+     */
     public void setConnectionCount(Integer maxConnections) {
         this.connectionCount = maxConnections;
     }
@@ -223,6 +227,14 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
         return connectionCount;
     }
 
+    /**
+     * Pluggable strategy for encoding and decoding JMS keys so they can be 
compliant with the JMS specification.
+     * Camel provides one implementation out of the box: default.
+     * The default strategy will safely marshal dots and hyphens (. and -).
+     * 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 
org.apache.camel.component.jms.JmsKeyFormatStrategy
+     * and refer to it using the # notation.
+     */
     public void setKeyFormatStrategy(KeyFormatStrategy keyFormatStrategy) {
         this.keyFormatStrategy = keyFormatStrategy;
     }
@@ -231,19 +243,13 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
         return keyFormatStrategy;
     }
 
-    /**
-     * Gets the TransactionCommitStrategy value of transactionCommitStrategy 
for this
-     * instance of SjmsComponent.
-     *
-     * @return the transactionCommitStrategy
-     */
     public TransactionCommitStrategy getTransactionCommitStrategy() {
         return transactionCommitStrategy;
     }
 
     /**
-     * Sets the TransactionCommitStrategy value of transactionCommitStrategy 
for this
-     * instance of SjmsComponent.
+     * To configure which kind of commit strategy to use. Camel provides two 
implementations out
+     * of the box, default and batch.
      */
     public void setTransactionCommitStrategy(TransactionCommitStrategy 
commitStrategy) {
         this.transactionCommitStrategy = commitStrategy;
@@ -253,6 +259,9 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
         return destinationCreationStrategy;
     }
 
+    /**
+     * To use a custom DestinationCreationStrategy.
+     */
     public void setDestinationCreationStrategy(DestinationCreationStrategy 
destinationCreationStrategy) {
         this.destinationCreationStrategy = destinationCreationStrategy;
     }
@@ -261,6 +270,9 @@ public class SjmsComponent extends UriEndpointComponent 
implements HeaderFilterS
         return timedTaskManager;
     }
 
+    /**
+     * To use a custom TimedTaskManager
+     */
     public void setTimedTaskManager(TimedTaskManager timedTaskManager) {
         this.timedTaskManager = timedTaskManager;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/c14e0063/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
index e3ad68d..67774d4 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
@@ -45,46 +45,47 @@ import org.slf4j.LoggerFactory;
 public class SjmsEndpoint extends DefaultEndpoint implements 
MultipleConsumersSupport {
     protected final Logger logger = LoggerFactory.getLogger(getClass());
 
-    @UriPath(enums = "queue,topic", defaultValue = "queue")
+    private boolean topic;
+
+    @UriPath(enums = "queue,topic", defaultValue = "queue", description = "The 
kind of destination to use")
     private String destinationType;
     @UriPath @Metadata(required = "true")
     private String destinationName;
-    @UriParam(defaultValue = "true")
+    @UriParam(label = "consumer", defaultValue = "true")
     private boolean synchronous = true;
     @UriParam
     private boolean transacted;
-    @UriParam
+    @UriParam(label = "producer")
     private String namedReplyTo;
-    @UriParam(defaultValue = "AUTO_ACKNOWLEDGE")
+    @UriParam(defaultValue = "AUTO_ACKNOWLEDGE", enums = 
"SESSION_TRANSACTED,CLIENT_ACKNOWLEDGE,AUTO_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE")
     private SessionAcknowledgementType acknowledgementMode = 
SessionAcknowledgementType.AUTO_ACKNOWLEDGE;
-    private boolean topic;
     @UriParam(defaultValue = "1")
     private int sessionCount = 1;
-    @UriParam(defaultValue = "1")
+    @UriParam(label = "producer", defaultValue = "1")
     private int producerCount = 1;
     @UriParam(defaultValue = "1")
     private int consumerCount = 1;
     @UriParam(defaultValue = "-1")
     private long ttl = -1;
-    @UriParam(defaultValue = "true")
+    @UriParam(label = "producer", defaultValue = "true")
     private boolean persistent = true;
-    @UriParam
+    @UriParam(label = "consumer")
     private String durableSubscriptionId;
-    @UriParam(defaultValue = "5000")
+    @UriParam(label = "producer", defaultValue = "5000")
     private long responseTimeOut = 5000;
-    @UriParam
+    @UriParam(label = "consumer")
     private String messageSelector;
-    @UriParam(defaultValue = "-1")
+    @UriParam(label = "consumer", defaultValue = "-1")
     private int transactionBatchCount = -1;
-    @UriParam(defaultValue = "5000")
+    @UriParam(label = "consumer", defaultValue = "5000")
     private long transactionBatchTimeout = 5000;
     @UriParam
     private boolean asyncStartListener;
     @UriParam
     private boolean asyncStopListener;
-    @UriParam(defaultValue = "true")
+    @UriParam(label = "producer", defaultValue = "true")
     private boolean prefillPool = true;
-    @UriParam(defaultValue = "true")
+    @UriParam(label = "producer", defaultValue = "true")
     private boolean allowNullBody = true;
     @UriParam
     private TransactionCommitStrategy transactionCommitStrategy;
@@ -175,38 +176,23 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         return getComponent().getKeyFormatStrategy();
     }
 
-    /**
-     * Use to determine whether or not to process exchanges synchronously.
-     *
-     * @return true if endoint is synchronous, otherwise false
-     */
     public boolean isSynchronous() {
         return synchronous;
     }
 
     /**
-     * Flag can be set to enable/disable synchronous exchange processing.
-     *
-     * @param synchronous true to process synchronously, default is true
+     * Sets whether synchronous processing should be strictly used or Camel is 
allowed to use asynchronous processing (if supported).
      */
     public void setSynchronous(boolean synchronous) {
         this.synchronous = synchronous;
     }
 
-    /**
-     * Returns the configured acknowledgementMode.
-     *
-     * @return the acknowledgementMode
-     */
     public SessionAcknowledgementType getAcknowledgementMode() {
         return acknowledgementMode;
     }
 
     /**
-     * Sets the acknowledgementMode configured on this endpoint.
-     *
-     * @param acknowledgementMode default is
-     *                            SessionAcknowledgementType.AUTO_ACKNOWLEDGE
+     * The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, 
CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE
      */
     public void setAcknowledgementMode(SessionAcknowledgementType 
acknowledgementMode) {
         this.acknowledgementMode = acknowledgementMode;
@@ -215,8 +201,6 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
     /**
      * Flag set by the endpoint used by consumers and producers to determine if
      * the endpoint is a JMS Topic.
-     *
-     * @return the topic true if endpoint is a JMS Topic, default is false
      */
     public boolean isTopic() {
         return topic;
@@ -224,8 +208,6 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
 
     /**
      * Returns the number of Session instances expected on this endpoint.
-     *
-     * @return the sessionCount
      */
     @Deprecated
     public int getSessionCount() {
@@ -244,171 +226,100 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         this.sessionCount = sessionCount;
     }
 
-    /**
-     * Returns the number of consumer listeners for this endpoint.
-     *
-     * @return the producerCount
-     */
     public int getProducerCount() {
         return producerCount;
     }
 
     /**
      * Sets the number of producers used for this endpoint.
-     *
-     * @param producerCount the number of producers for this endpoint, default
-     *                      is 1
      */
     public void setProducerCount(int producerCount) {
         this.producerCount = producerCount;
     }
 
-    /**
-     * Returns the number of consumer listeners for this endpoint.
-     *
-     * @return the consumerCount
-     */
     public int getConsumerCount() {
         return consumerCount;
     }
 
     /**
      * Sets the number of consumer listeners used for this endpoint.
-     *
-     * @param consumerCount the number of consumers for this endpoint, default
-     *                      is 1
      */
     public void setConsumerCount(int consumerCount) {
         this.consumerCount = consumerCount;
     }
 
-    /**
-     * Returns the Time To Live set on this endpoint.
-     *
-     * @return the ttl
-     */
     public long getTtl() {
         return ttl;
     }
 
     /**
      * Flag used to adjust the Time To Live value of produced messages.
-     *
-     * @param ttl a new TTL, default is -1 (disabled)
      */
     public void setTtl(long ttl) {
         this.ttl = ttl;
     }
 
-    /**
-     * Use to determine if the enpoint has message persistence enabled or
-     * disabled.
-     *
-     * @return true if persistent, otherwise false
-     */
     public boolean isPersistent() {
         return persistent;
     }
 
     /**
      * Flag used to enable/disable message persistence.
-     *
-     * @param persistent true if persistent, default is true
      */
     public void setPersistent(boolean persistent) {
         this.persistent = persistent;
     }
 
-    /**
-     * Gets the durable subscription Id.
-     *
-     * @return the durableSubscriptionId
-     */
     public String getDurableSubscriptionId() {
         return durableSubscriptionId;
     }
 
     /**
      * Sets the durable subscription Id required for durable topics.
-     *
-     * @param durableSubscriptionId durable subscription Id or null
      */
     public void setDurableSubscriptionId(String durableSubscriptionId) {
         this.durableSubscriptionId = durableSubscriptionId;
     }
 
-    /**
-     * Returns the InOut response timeout.
-     *
-     * @return the responseTimeOut
-     */
     public long getResponseTimeOut() {
         return responseTimeOut;
     }
 
     /**
-     * Sets the amount of time we should wait before timing out a InOut
-     * response.
-     *
-     * @param responseTimeOut response timeout
+     * Sets the amount of time we should wait before timing out a InOut 
response.
      */
     public void setResponseTimeOut(long responseTimeOut) {
         this.responseTimeOut = responseTimeOut;
     }
 
-    /**
-     * Returns the JMS Message selector syntax used to refine the messages 
being
-     * consumed.
-     *
-     * @return the messageSelector
-     */
     public String getMessageSelector() {
         return messageSelector;
     }
 
     /**
      * Sets the JMS Message selector syntax.
-     *
-     * @param messageSelector Message selector syntax or null
      */
     public void setMessageSelector(String messageSelector) {
         this.messageSelector = messageSelector;
     }
 
-    /**
-     * If transacted, returns the nubmer of messages to be processed before
-     * committing the transaction.
-     *
-     * @return the transactionBatchCount
-     */
     public int getTransactionBatchCount() {
         return transactionBatchCount;
     }
 
     /**
-     * If transacted sets the number of messages to process before committing a
-     * transaction.
-     *
-     * @param transactionBatchCount number of messages to process before
-     *                              committing, default is 1
+     * If transacted sets the number of messages to process before committing 
a transaction.
      */
     public void setTransactionBatchCount(int transactionBatchCount) {
         this.transactionBatchCount = transactionBatchCount;
     }
 
-    /**
-     * Returns the timeout value for batch transactions.
-     *
-     * @return long
-     */
     public long getTransactionBatchTimeout() {
         return transactionBatchTimeout;
     }
 
     /**
-     * Sets timeout value for batch transactions.
-     *
-     * @param transactionBatchTimeout
+     * Sets timeout (in millis) for batch transactions, the value should be 
1000 or higher.
      */
     public void setTransactionBatchTimeout(long transactionBatchTimeout) {
         if (transactionBatchTimeout >= 1000) {
@@ -416,38 +327,23 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         }
     }
 
-    /**
-     * Gets the commit strategy.
-     *
-     * @return the transactionCommitStrategy
-     */
     public TransactionCommitStrategy getTransactionCommitStrategy() {
         return transactionCommitStrategy;
     }
 
     /**
      * Sets the commit strategy.
-     *
-     * @param transactionCommitStrategy commit strategy to use when processing
-     *                                  transacted messages
      */
     public void setTransactionCommitStrategy(TransactionCommitStrategy 
transactionCommitStrategy) {
         this.transactionCommitStrategy = transactionCommitStrategy;
     }
 
-    /**
-     * Use to determine if transactions are enabled or disabled.
-     *
-     * @return true if transacted, otherwise false
-     */
     public boolean isTransacted() {
         return transacted;
     }
 
     /**
-     * Enable/disable flag for transactions
-     *
-     * @param transacted true if transacted, otherwise false
+     * Specifies whether to use transacted mode
      */
     public void setTransacted(boolean transacted) {
         if (transacted) {
@@ -456,29 +352,34 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         this.transacted = transacted;
     }
 
-    /**
-     * Returns the reply to destination name used for InOut producer endpoints.
-     *
-     * @return the namedReplyTo
-     */
     public String getNamedReplyTo() {
         return namedReplyTo;
     }
 
     /**
      * Sets the reply to destination name used for InOut producer endpoints.
-     *
-     * @param namedReplyTo the JMS reply to destination name
      */
     public void setNamedReplyTo(String namedReplyTo) {
         this.namedReplyTo = namedReplyTo;
         this.setExchangePattern(ExchangePattern.InOut);
     }
 
+    /**
+     * Whether to startup the consumer 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, then beware that if the 
connection could not be established,
+     * then an exception is logged at WARN level, and the consumer will not be 
able to receive messages;
+     * You can then restart the route to retry.
+     */
     public void setAsyncStartListener(boolean asyncStartListener) {
         this.asyncStartListener = asyncStartListener;
     }
 
+    /**
+     * Whether to stop the consumer message listener asynchronously, when 
stopping a route.
+     */
     public void setAsyncStopListener(boolean asyncStopListener) {
         this.asyncStopListener = asyncStopListener;
     }
@@ -495,6 +396,9 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         return prefillPool;
     }
 
+    /**
+     * Whether to prefill the producer connection pool on startup, or create 
connections lazy when needed.
+     */
     public void setPrefillPool(boolean prefillPool) {
         this.prefillPool = prefillPool;
     }
@@ -503,6 +407,9 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         return destinationCreationStrategy;
     }
 
+    /**
+     * To use a custom DestinationCreationStrategy.
+     */
     public void setDestinationCreationStrategy(DestinationCreationStrategy 
destinationCreationStrategy) {
         this.destinationCreationStrategy = destinationCreationStrategy;
     }
@@ -511,6 +418,9 @@ public class SjmsEndpoint extends DefaultEndpoint 
implements MultipleConsumersSu
         return allowNullBody;
     }
 
+    /**
+     * Whether to allow sending messages with no body. If this option is false 
and the message body is null, then an JMSException is thrown.
+     */
     public void setAllowNullBody(boolean allowNullBody) {
         this.allowNullBody = allowNullBody;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/c14e0063/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/BatchTransactionCommitStrategy.java
----------------------------------------------------------------------
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/BatchTransactionCommitStrategy.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/BatchTransactionCommitStrategy.java
index a103164..aa6e08f 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/BatchTransactionCommitStrategy.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/BatchTransactionCommitStrategy.java
@@ -30,9 +30,6 @@ public class BatchTransactionCommitStrategy implements 
TransactionCommitStrategy
     private final AtomicInteger current = new AtomicInteger(0);
     private final int count;
 
-    /**
-     * @param count
-     */
     public BatchTransactionCommitStrategy(int count) {
         this.count = count;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/c14e0063/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/DefaultTransactionCommitStrategy.java
----------------------------------------------------------------------
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/DefaultTransactionCommitStrategy.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/DefaultTransactionCommitStrategy.java
index 2b71e7e..97d185c 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/DefaultTransactionCommitStrategy.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/DefaultTransactionCommitStrategy.java
@@ -24,23 +24,11 @@ import 
org.apache.camel.component.sjms.TransactionCommitStrategy;
  */
 public class DefaultTransactionCommitStrategy implements 
TransactionCommitStrategy {
 
-    /**
-     * @param exchange
-     * @return
-     * @throws Exception
-     * @see 
org.apache.camel.component.sjms.TransactionCommitStrategy#commit(org.apache.camel.Exchange)
-     */
     @Override
     public boolean commit(Exchange exchange) throws Exception {
         return true;
     }
 
-    /**
-     * @param exchange
-     * @return
-     * @throws Exception
-     * @see 
org.apache.camel.component.sjms.TransactionCommitStrategy#rollback(org.apache.camel.Exchange)
-     */
     @Override
     public boolean rollback(Exchange exchange) throws Exception {
         return true;

Reply via email to