[CONF] Apache Camel > SJMS

2014-08-24 Thread Claus Ibsen (Confluence)














  


Claus Ibsen edited the page:
 


SJMS   






...



 Info








title
Why the S in SJMS


 




 S stands for Simple and Standard and Springless. Also camel-jms was already taken.  






 Warning




  This is a rather new component in a complex world of JMS messaging. So this component is ongoing development and hardening.   The classic JMS component based on Spring JMS has been hardened and battle tested extensively.  



   
Maven users will need to add the following dependency to their pom.xml for this component:
...



 div








class
confluenceTableSmall
 

[CONF] Apache Camel > SJMS

2014-08-24 Thread Claus Ibsen (Confluence)














  


Claus Ibsen edited the page:
 


SJMS   






...
Maven users will need to add the following dependency to their pom.xml for this component:



 Code Block









xml


 




 


org.apache.camel
camel-sjms
x.x.x


 



URI format



 Code Block




 

sjms:[queue:|topic:]destinationName[?options]
 



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



 Code Block




 

sjms:FOO.BAR
 



You can include the optional queue: prefix, if you prefer:


 

[CONF] Apache Camel > SJMS

2013-10-07 Thread Claus Ibsen (Confluence)







SJMS
Page edited by Claus Ibsen


 Changes (2)
 




...
*Available as of Camel 2.11*  
The Simple JMS Component, or SJMS, is a JMS client for use with Camel that uses well known best practices when it comes to JMS client creation and configuration. SJMS contains a brand new JMS client API written explicitly for Camel eliminating third party messaging implementations keeping it light and resilient.  It is scheduled to be released as part of Camel 2.11 with the The following functionality: features is included: 
 * Standard Queue and Topic Support (Durable & Non-Durable) 
...
{info}  
{warning} This is a rather new component in a complex world of JMS messaging. So this component is ongoing development and hardening. The classic [JMS] component based on Spring JMS has been hardened and battle tested extensively. {warning}  
Maven users will need to add the following dependency to their {{pom.xml}} for this component: {code:xml} 
...


Full Content

SJMS Component
Available as of Camel 2.11

The Simple JMS Component, or SJMS, is a JMS client for use with Camel that uses well known best practices when it comes to JMS client creation and configuration. SJMS contains a brand new JMS client API written explicitly for Camel eliminating third party messaging implementations keeping it light and resilient.  The following features is included:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Batch Consumers and Producers
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

This is a rather new component in a complex world of JMS messaging. So this component is ongoing development and hardening.
The classic JMS component based on Spring JMS has been hardened and battle tested extensively.

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Description 


 connectionCount 
 
 1 
 The maximum number of connections available to endpoints started under this component 


 connectionFactory 
  
 null 
 A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. 


 connectionResource 
 
 null 
 A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See Plugable Connection Resource Management for further details. 


 headerFilterStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 keyFormatStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 transactionCommitStrategy 
 
 null 
 





Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



[CONF] Apache Camel > SJMS

2013-09-23 Thread Claus Ibsen (Confluence)







SJMS
Page moved by Fintan Bolton






From: 

Apache Camel



To: 

Apache Camel
> Components





Children moved






   
Stop watching space
|
Change email notification preferences

   View Online
  |
   Add Comment
   









[CONF] Apache Camel > SJMS

2013-09-14 Thread Claus Ibsen (Confluence)







SJMS
Page edited by Claus Ibsen


 Changes (2)
 




...
{div:class=confluenceTableSmall} || Option || Default Value || Description || 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}} | The JMS acknowledgement name, which is one of: {{SESSION_TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}. {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}} | *InOut only.* Defines the number of [MessageListener|http://docs.oracle.com/javaee/5/api/javax/jms/MessageListener.html] instances that for response consumers. | | {{exchangePattern}} | {{InOnly}} | Sets the Producers message exchange pattern. | 
...
{code}  
The minimal value that will be accepted is 1000ms as the amount of context switching may cause unnecessary performance impacts without gaining beniefit. 
 The producer endpoint is handled much differently though. With the producer after each message is delivered to its destination the Exchange is closed and there is no longer a reference to that message. To make a available all the messages available for redelivery you simply enable transactions on a Producer Endpoint that is publishing BatchMessages. The transaction will commit at the conclusion of the exchange which includes all messages in the batch list.  Nothing additional need be configured. For example: 
...


Full Content

SJMS Component
Available as of Camel 2.11

The Simple JMS Component, or SJMS, is a JMS client for use with Camel that uses well known best practices when it comes to JMS client creation and configuration. SJMS contains a brand new JMS client API written explicitly for Camel eliminating third party messaging implementations keeping it light and resilient.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Batch Consumers and Producers
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Description 


 connectionCount 
 
 1 
 The maximum number of connections available to endpoints started under this component 


 connectionFactory 
  
 null 
 A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. 


 connectionResource 
 
 null 
 A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See Plugable Connection Resource Management for further details. 


 headerFilterStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 keyFormatStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 transactionCommitStrategy 
 
 null 
 





Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFac

[CONF] Apache Camel > SJMS

2012-10-30 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (1)
 




...
| {{transacted}} | {{false}} | If the endpoint should use a JMS Session transaction. | | {{transactionBatchCount}} | {{1}} | The number of exchanges to process before committing a local JMS transaction.  The {{transacted}} property must also be set to true or this property will be ignored. | 
| {{transactionBatchTimeout}} | {{5000}} | The amount of time a the transaction will stay open between messages before committing what has already been consumed.  Minimum value is 1000ms. | 
| {{ttl}} | {{\-1}} | Disabled by default.  Sets the Message time to live header. | {div} 
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The Simple JMS Component, or SJMS, is a JMS client for use with Camel that uses well known best practices when it comes to JMS client creation and configuration. SJMS contains a brand new JMS client API written explicitly for Camel eliminating third party messaging implementations keeping it light and resilient.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Batch Consumers and Producers
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Description 


 connectionCount 
 
 1 
 The maximum number of connections available to endpoints started under this component 


 connectionFactory 
  
 null 
 A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. 


 connectionResource 
 
 null 
 A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See Plugable Connection Resource Management for further details. 


 headerFilterStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 keyFormatStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 transactionCommitStrategy 
 
 null 
 





Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producer Configuration Options

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE 
 The JMS acknowledgement name, which is one of: TRANSACTED, AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE. CLIENT_ACKNOWLEDGE is not supported at this time. 


 consumerCount 
 1 
 InOut only. Defines the number of MessageListener instances that for response consumers. 


 exchangePattern 
 In

[CONF] Apache Camel > SJMS

2012-10-05 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (27)
 




...
{note}  
The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible. resilient.  It is scheduled to be released as part of Camel 2.11 with the following functionality: 
 * Standard Queue and Topic Support (Durable & Non-Durable) 
...
* Plugable Connection Resource Management * Session, Consumer, & Producer Pooling & Caching Management 
* Batch Consumers and Producers 
* Transacted Batch Consumers & Producers * Support for Customizable Transaction Commit Strategies (Local JMS Transactions only) 
...
{div}  
h3. Producer Usage  h4. InOnly Producer - (Default)  The InOnly Producer is the default behavior of the SJMS Producer Endpoint.  {code} from("direct:start") .to("sjms:queue:bar"); {code}  h4. InOut Producer  To enable InOut behavior append the {{exchangePattern}} attribute to the URI.  By default it will use a dedicated TemporaryQueue for each consumer.  {code} from("direct:start") .to("sjms:queue:bar?exchangePattern=InOut"); {code}  You can specify a {{namedReplyTo}} though which can provide a better monitor point.  {code} from("direct:start") .to("sjms:queue:bar?exchangePattern=InOut&namedReplyTo=my.reply.to.queue"); {code}  
h3. Consumers Configuration Options  
...
{div}  
h3. Usage Notes 
h3. Consumer Usage 
 
h4. InOnly Consumer - (Default)  The InOnly Consumer is the default Exchange behavior of the SJMS Consumer Endpoint.  {code} from("sjms:queue:bar") .to("mock:result"); {code}  h4. InOut Consumer  To enable InOut behavior append the {{exchangePattern}} attribute to the URI.  {code} from("sjms:queue:in.out.test?exchangePattern=InOut") .transform(constant("Bye Camel")); {code}  h3. Advanced Usage Notes  
h4. Plugable Connection Resource Management {anchor:connectionresource}  
...
It is recommended though that for standard [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] providers you use the [ConnectionFactoryResource|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/it/ConnectionResourceIT.java] implementation that is provided with SJMS as-is or extend as it is optimized for this component.  
To see a full example of its usage please refer to the [ConnectionResourceIT|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/it/ConnectionResourceIT.java]. 
Below is an example of using the pluggable ConnectionResource with the ActiveMQ PooledConnectionFactory: 
 
{code} public class AMQConnectionResource implements ConnectionResource { private PooledConnectionFactory pcf;  public AMQConnectionResource(String connectString, int maxConnections) { super(); pcf = new PooledConnectionFactory(connectString); pcf.setMaxConnections(maxConnections); pcf.start(); }  public void stop() { pcf.stop(); }  @Override public Connection borrowConnection() throws Exception { Connection answer = pcf.createConnection(); answer.start(); return answer; }  @Override public Connection borrowConnection(long timeout) throws Exception { // SNIPPED... }  @Override public void returnConnection(Connection connection) throws Exception { // Do nothing since there isn't a way to return a Connection // to the instance of PooledConnectionFactory log.info("Connection returned"); } } {code}  Then pass in the ConnectionResource to the SjmsComponent:  {code} CamelContext camelContext = new DefaultCamelContext(); AMQConnectionResource pool = new AMQConnectionResource("tcp://localhost:3", 1); SjmsComponent component = new SjmsComponent(); component.setConnectionResource(pool); camelContext.addComponent("sjms", component); {code}  To see the full example of its usage please refer to the [ConnectionResourceIT|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/it/ConnectionResourceIT.java].  
h4. Session, Consumer, & Producer Pooling & Caching Management  Coming soon ...  
h4. Batch Producer 
h4. Batch Message Support 
 The SjmsProducer supports publishing a collection of messages by creating an Exchange that encapsulates a List. This SjmsProducer will take then iterate through

[CONF] Apache Camel > SJMS

2012-09-26 Thread confluence







SJMS
Page edited by Scott England-Sullivan


Comment:
New sections for batching and connection resource management


 Changes (4)
 




...
Coming soon ...  
h4. Batch Producer  The SjmsProducer supports publishing a collection of messages by creating an Exchange that encapsulates a List. This SjmsProducer will take then iterate through the contents of the List and publish each message individually.  If when producing a batch of messages there is the need to set headers that are unique to each message you can use the SJMS [BatchMessage|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/BatchMessage.java] class. When the SjmsProducer encounters a BatchMessage List it will iterate each BatchMessage and publish the included payload and headers.  h4. Customizable Transaction Commit Strategies (Local JMS Transactions only)  SJMS provides a developer the means to create a custom and plugable transaction strategy through the use of the [TransactionCommitStrategy|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/TransactionCommitStrategy.java] interface. This allows a user to define a unique set of circumstances that the [SessionTransactionSynchronization|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/SessionTransactionSynchronization.java] will use to determine when to commit the Session. An example of its use is the [BatchTransactionCommitStrategy|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/tx/BatchTransactionCommitStrategy.java] which is detailed further in the next section.  
h4. Transacted Batch Consumers & Producers  
...
If an exception occurs during the processing of a batch on the consumer endpoint, the Session rollback is invoked causing the messages to be redelivered to the next available consumer. The counter is also reset to 0 for the BatchTransactionCommitStrategy for the associated Session as well. It is the responsibility of the user to ensure they put hooks in their processors of batch messages to watch for messages with the JMSRedelivered header set to true. This is the indicator that messages were rolled back at some point and that a verification of a successful processing should occur.  
h4. Customizable Transaction Commit Strategies (Local JMS Transactions only) 
The producer endpoint is handled much differently though. With the producer after each message is delivered to its destination the Exchange is closed and there is no longer a reference to that message. To make a available to the Given that when a message is delivered to a destinatio 
 
Coming soon ...  
h4. Message Header Format  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Des

[CONF] Apache Camel > SJMS

2012-09-26 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (5)
 




...
h4. Plugable Connection Resource Management {anchor:connectionresource}  
SJMS provides JMS [Connection|http://docs.oracle.com/javaee/5/api/javax/jms/Connection.html] resource management through built-in connection pooling. This eliminates the need to depend on third party API pooling logic. However there may be times that you are required to use an external Connection resource manager such as those provided by J2EE or OSGi containers. For this SJMS provides an interface that can be used to override the internal SJMS Connection pooling capabilities. This is accomplished through the {{ConnectionResource}} [ConnectionResource|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/ConnectionResource.java] interface. 
 
The {{ConnectionResource}} [ConnectionResource|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/ConnectionResource.java] provides methods for borrowing and returning Connections as needed is the contract used to provide [Connection|http://docs.oracle.com/javaee/5/api/javax/jms/Connection.html] pools to the SJMS component. A user should use when it is necessary to integrate SJMS with an external connection pooling manager. 
 It is recommended though that for standard [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] providers you use the [ConnectionFactoryResource|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/it/ConnectionResourceIT.java] implementation that is provided with SJMS as-is or extend as it is optimized for this component. 
...
h4. Transacted Batch Consumers & Producers  
Coming soon ... 
The SjmsComponent has been designed to support the batching of local JMS transactions on both the Producer and Consumer endpoints. How they are handled on each is very different though. 
 
The SjmsConsumer endpoint is a straitforward implementation that will process X messages before committing them with the associated Session.  To enable batched transaction on the consumer first enable transactions by setting the {{transacted}} parameter to true and then adding the {{transactionBatchCount}} and setting it to any value that is greater than 0. For example the following configuration will commit the Session every 10 messages:  {code} sjms:queue:transacted.batch.consumer?transacted=true&transactionBatchCount=10 {code}  If an exception occurs during the processing of a batch on the consumer endpoint, the Session rollback is invoked causing the messages to be redelivered to the next available consumer. The counter is also reset to 0 for the BatchTransactionCommitStrategy for the associated Session as well. It is the responsibility of the user to ensure they put hooks in their processors of batch messages to watch for messages with the JMSRedelivered header set to true. This is the indicator that messages were rolled back at some point and that a verification of a successful processing should occur.  
h4. Customizable Transaction Commit Strategies (Local JMS Transactions only)  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you pre

[CONF] Apache Camel > SJMS

2012-09-26 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (2)
 




...
The {{ConnectionResource}} provides methods for borrowing and returning Connections as needed is the contract used to provide [Connection|http://docs.oracle.com/javaee/5/api/javax/jms/Connection.html] pools to the SJMS component. A user should use when it is necessary to integrate SJMS with an external connection pooling manager.  
It is recommended though that for standard [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] providers you use the {{ConnectionFactoryResource}} [ConnectionFactoryResource|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/it/ConnectionResourceIT.java] implementation that is provided with SJMS as-is or extend as it is optimized for this component. 
 
To see a full example of its usage please refer to the [ConnectionResourceIT|https://svn.apache.org/repos/asf/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/it/ConnectionResourceIT.java].  
h4. Session, Consumer, & Producer Pooling & Caching Management  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Description 


 connectionCount 
 
 1 
 The maximum number of connections available to endpoints started under this component 


 connectionFactory 
  
 null 
 A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. 


 connectionResource 
 
 null 
 A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See Plugable Connection Resource Management for further details. 


 headerFilterStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 keyFormatStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 transactionCommitStrategy 
 
 null 
 





Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producer Configuration Options

The SjmsProducer Endpoint supports the following 

[CONF] Apache Camel > SJMS

2012-09-26 Thread confluence







SJMS
Page edited by Scott England-Sullivan


Comment:
adding ConnectionResource and clean up


 Changes (2)
 




...
SJMS provides JMS [Connection|http://docs.oracle.com/javaee/5/api/javax/jms/Connection.html] resource management through built-in connection pooling. This eliminates the need to depend on third party API pooling logic. However there may be times that you are required to use an external Connection resource manager such as those provided by J2EE or OSGi containers. For this SJMS provides an interface that can be used to override the internal SJMS Connection pooling capabilities. This is accomplished through the {{ConnectionResource}} interface.   
The {{ConnectionResource}} provides methods for baorrowing and returning Connections as needed is the contract used to provide {@link Connection} [Connection|http://docs.oracle.com/javaee/5/api/javax/jms/Connection.html] pools to the SJMS component. A user should use when it is necessary to integrate SJMS with an external connection pooling manager. 
 
It is recommended though that for standard [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] providers you use the {{ConnectionFactoryResource}} implementation that is provided with SJMS as-is or extend as it is optimized for this component. 
 h4. Session, Consumer, & Producer Pooling & Caching Management 
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Description 


 connectionCount 
 
 1 
 The maximum number of connections available to endpoints started under this component 


 connectionFactory 
  
 null 
 A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. 


 connectionResource 
 
 null 
 A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See Plugable Connection Resource Management for further details. 


 headerFilterStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 keyFormatStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 transactionCommitStrategy 
 
 null 
 





Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connecti

[CONF] Apache Camel > SJMS

2012-09-26 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (11)
 




...
{note}  
The SJMS Component is a JMS client API for use with Camel. It is based purely on the JMS API and as such does not rely on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality: 
The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality: 
 * Standard Queue and Topic Support (Durable & Non-Durable) 
...
{div:class=confluenceTableSmall} || Option || Required || Default Value || Description || 
| {{connectionCount}} | | {{1}} | The maximum number of connections available to endpoints started under this component | 
| {{connectionFactory}} | (/) | {{null}} | A [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. | | {{connectionResource}} | | {{null}} | A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See [Plugable Connection Resource Management|#connectionresource] for further details. | | {{headerFilterStrategy}} | | {{DefaultJmsKeyFormatStrategy}} | | | {{keyFormatStrategy}} | | {{DefaultJmsKeyFormatStrategy}} | | 
| {{maxConnections}} | | {{1}} | The maximum number of connections available to endpoints started under this component | | {{transactionCommitStrategy}} | | {{DefaultTransactionCommitStrategy()}} | Defines the number of [MessageProducer|http://docs.oracle.com/javaee/5/api/javax/jms/MessageProducer.html] instances. | 
| {{transactionCommitStrategy}} | | {{null}} |  | 
{div}  
...
h3. Usage Notes  
As stated above SJMS Component uses a JMS client API that was written from the ground up for use in Camel. As such there are some key behaviors and features that deserve noting.  
h4. Plugable Connection Resource Management {anchor:connectionresource}  
SJMS uses a ConnectionResource  
SJMS provides JMS [Connection|http://docs.oracle.com/javaee/5/api/javax/jms/Connection.html] resource management through built-in connection pooling. This eliminates the need to depend on third party API pooling logic. However there may be times that you are required to use an external Connection resource manager such as those provided by J2EE or OSGi containers. For this SJMS provides an interface that can be used to override the internal SJMS Connection pooling capabilities. This is accomplished through the {{ConnectionResource}} interface.  
 
The {{ConnectionResource}} provides methods for barrowing and returning Connections as needed is the contract used to provide {@link Connection} pools to the SJMS component. A user should use when it is necessary to integrate SJMS with an external connection pooling manager.  It is recommended though that for standard [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] providers you use the {{ConnectionFactoryResource}} implementation that is provided with SJMS as it is optimized for this component.   
h4. Session, Consumer, & Producer Pooling & Caching Management  
...
exchange.in.headers keys must be literals and all be valid Java identifiers (do not use dots in the key name). Camel replaces dots & hyphens and the reverse when when consuming JMS messages: 
. * is replaced by _DOT_ and the reverse replacement when Camel consumes the message. 
- * is replaced by _HYPHEN_ and the reverse replacement when Camel consumes the message. 
See also the option jmsKeyFormatStrategy, which allows use of your own custom strategy for formatting keys.  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for use with Camel. SJMS uses a JMS client API written explicitly for Camel and does not depend on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additiona

[CONF] Apache Camel > SJMS

2012-09-25 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (26)
 




...
 {info:title=Why the S in SJMS} 
S stands for Simple and Standard and Springless.  Also camel-jms was already taken. :-) 
{info}  
...
|| Option || Required || Default Value || Description || | {{connectionFactory}} | (/) | {{null}} | A [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. | 
| {{connectionResource}} |   | {{null}} | A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See [ConnectionResource|#connectionresource] [Plugable Connection Resource Management|#connectionresource] for further details. | 
| {{headerFilterStrategy}} | | {{DefaultJmsKeyFormatStrategy}} | | 
| {{headerFilterStrategy}} {{keyFormatStrategy}} |   | {{DefaultJmsKeyFormatStrategy}} |   | 
| {{keyFormatStrategy}} |  | {{DefaultJmsKeyFormatStrategy}} |  | 
| {{maxConnections}} | | {{1}} | The maximum number of connections available to endpoints started under this component | 
| {{transactionCommitStrategy}} |   | {{DefaultTransactionCommitStrategy()}}   | Defines the number of [MessageProducer|http://docs.oracle.com/javaee/5/api/javax/jms/MessageProducer.html] instances. | 
{div}  
...
{div:class=confluenceTableSmall} || Option || Default Value || Description || 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}   | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}.   {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}}   | *InOut only.* Defines the number of [MessageListener|http://docs.oracle.com/javaee/5/api/javax/jms/MessageListener.html] instances that for response consumers. | 
| {{exchangePattern}} | {{InOnly}}   | Sets the Producers message exchange pattern. | 
| {{namedReplyTo}} | {{null}}   | *InOut only.* Specifies a named reply to destination for responses. | 
| {{persistent}} | {{true}}   | Whether a message should be delivered with persistence enabled. | 
| {{producerCount}} | {{1}}   | Defines the number of [MessageProducer|http://docs.oracle.com/javaee/5/api/javax/jms/MessageProducer.html] instances. | 
| {{responseTimeOut}} | {{5000}}   | *InOut only.* Specifies the amount of time an InOut Producer will wait for its response. | 
| {{synchronous}} | {{true}}   | Sets whether the Endpoint will use synchronous or asynchronous processing. | 
| {{transacted}} | {{false}}   | If the endpoint should use a JMS Session transaction. | 
| {{ttl}} | {{-1}}  {{\-1}} | Disabled by default.  Sets the Message time to live header. | 
{div}  
...
{div:class=confluenceTableSmall} || Option || Default Value || Description || 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}   | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}.   {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}}   | Defines the number of [MessageListener|http://docs.oracle.com/javaee/5/api/javax/jms/MessageListener.html] instances. | 
| {{durableSubscriptionId}} | {{null}} | Required for a durable subscriptions. | 
| {{exchangePattern}} | {{InOnly}}   | Sets the Consumers message exchange pattern. | 
| {{messageSelector}} | {{null}}   | Sets the message selector. | 
| {{synchronous}} | {{true}}   | Sets whether the Endpoint will use synchronous or asynchronous processing. | 
| {{transacted}} | {{false}}   | If the endpoint should use a JMS Session transaction. | 
| {{transactionBatchCount}} | {{1}}   | The number of exchanges to process before committing a local JMS transaction.  The {{transacted}} property must also be set to true or this property will be ignored. | 
| {{ttl}} | {{-1}}  {{\-1}} | Disabled by default.  Sets the Message time to live header. | 
{div}  
...
h4. Plugable Connection Resource Management {anchor:connectionresource}  
Coming soon ... 
SJMS uses a ConnectionResource  
 h4. Session, Consumer, & Producer Pooling & Caching Management 
...
For the exchange.in.header the following rules apply for the header keys:  
Keys starting with JMS or JMSX are reserved.
exchange.in.headers keys must be literals and all be valid Java id

[CONF] Apache Camel > SJMS

2012-09-25 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (3)
 




...
You append query options to the URI using the following format, {{?option=value&option=value&...}}  
h3. Usage Notes  As stated above SJMS Component uses a JMS client API that was written from the ground up for use in Camel. As such there are some key behaviors and features that deserve noting.  h4. Plugable Connection Resource Management {anchor:connection_resource}  Coming soon ...  h4. Session, Consumer, & Producer Pooling & Caching Management  Coming soon ...  h4. Transacted Batch Consumers & Producers  Coming soon ...  h4. Customizable Transaction Commit Strategies (Local JMS Transactions only)  Coming soon ...  
h3. Component Options and Configurations  
...
|| Option || Required || Default Value || Description || | {{connectionFactory}} | (/) | {{null}} | A [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. | 
| {{connectionResource}} |  | {{null}} | A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See [ConnectionResource|SJMS#connection_resource] [ConnectionResource|#connectionresource] for further details. | 
| {{headerFilterStrategy}} |  | {{DefaultJmsKeyFormatStrategy}} |  | | {{keyFormatStrategy}} |  | {{DefaultJmsKeyFormatStrategy}} |  | 
...
h3. Usage Notes  
As stated above SJMS Component uses a JMS client API that was written from the ground up for use in Camel. As such there are some key behaviors and features that deserve noting.  h4. Plugable Connection Resource Management {anchor:connectionresource}  Coming soon ...  h4. Session, Consumer, & Producer Pooling & Caching Management  Coming soon ...  h4. Transacted Batch Consumers & Producers  Coming soon ...  h4. Customizable Transaction Commit Strategies (Local JMS Transactions only)  Coming soon ...  
h4. Message Header Format  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client API for use with Camel. It is based purely on the JMS API and as such does not rely on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Component Options and Configurations

The SJMS Component supports the following configuration options:




 Option 
 Required 
 Default Value 
 Description 


 connectionFactory 
  
 null 
 A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. 


 connectionResource 
 
 null 
 A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See ConnectionResource for further details. 


 headerFilterStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 keyFormatStrategy 
 
 DefaultJmsKeyFormatStrategy 
 


 maxConnections 
 
 1 
 The maximum number of connections available to endpoints started under this component 


 transactionCommitStrategy 
 
 DefaultTransactionCommitStrategy()  
 Defines the number of MessageProducer instances. 





Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It wil

[CONF] Apache Camel > SJMS

2012-09-25 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (11)
 




...
As stated above SJMS Component uses a JMS client API that was written from the ground up for use in Camel. As such there are some key behaviors and features that deserve noting.  
h4. Plugable Connection Resource Management {anchor:connection_resource} 
 Coming soon ... 
...
 {div:class=confluenceTableSmall} 
|| Option || Required || Default Value || Description || 
| {{connectionFactory}} | {{null}} |  | | {{connectionResource}} | {{null}} |  | 
| {{connectionFactory}} | (/) | {{null}} | A [ConnectionFactory|http://docs.oracle.com/javaee/5/api/javax/jms/ConnectionFactory.html] is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource. | | {{connectionResource}} |  | {{null}} | A ConnectionResource is an interface that allows for customization and container control of the ConnectionFactory.  See [ConnectionResource|SJMS#connection_resource] for further details. | 
| {{headerFilterStrategy}} |  | {{DefaultJmsKeyFormatStrategy}} |  | 
| {{keyFormatStrategy}} |  | {{DefaultJmsKeyFormatStrategy}} |  | 
| {{maxConnections}} |  | {{1}} | The maximum number of connections available to endpoints started under this component | 
| {{transactionCommitStrategy}} |  | {{DefaultTransactionCommitStrategy()}}  | Defines the number of [MessageProducer|http://docs.oracle.com/javaee/5/api/javax/jms/MessageProducer.html] instances. | 
{div}  
...
|| Option || Default Value || Description || | {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}.  {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}}  | *InOut only.* Defines the number of [MessageListener|http://docs.oracle.com/javaee/5/api/javax/jms/MessageListener.html] instances that for response consumers. | 
| {{exchangePattern}} | {{InOnly}}  | Sets the Producers message exchange pattern. | | {{namedReplyTo}} | {{null}}  | *InOut only.* Specifies a named reply to destination for responses. | | {{persistent}} | {{true}}  | Whether a message should be delivered with persistence enabled. | 
| {{producerCount}} | {{1}}  | Defines the number of [MessageProducer|http://docs.oracle.com/javaee/5/api/javax/jms/MessageProducer.html] instances. | 
| {{responseTimeOut}} | {{5000}}  | *InOut only.* Specifies the amount of time an InOut Producer will wait for its response. | | {{synchronous}} | {{true}}  | Sets whether the Endpoint will use synchronous or asynchronous processing. | 
...
|| Option || Default Value || Description || | {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}.  {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}}  | Defines the number of [MessageListener|http://docs.oracle.com/javaee/5/api/javax/jms/MessageListener.html] instances. | 
| {{durableSubscriptionId}} | {{null}} | Required for a durable subscriptions. | | {{exchangePattern}} | {{InOnly}}  | Sets the Consumers message exchange pattern. | 
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client API for use with Camel. It is based purely on the JMS API and as such does not rely on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality:


	Standard Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut MEP Support
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Additional key features include:


	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Transacted Batch Consumers & Producers
	Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR u

[CONF] Apache Camel > SJMS

2012-09-24 Thread confluence







SJMS
Page edited by Scott England-Sullivan


Comment:
Formatting document forcontent flow


 Changes (20)
 




...
{note}  
The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality: 
The SJMS Component is a JMS client API for use with Camel. It is based purely on the JMS API and as such does not rely on any third party messaging implementations keeping it light and flexible.  It is scheduled to be released as part of Camel 2.11 with the following functionality: 
 
* Standard Queue and Topic Support (Durable & Non-Durable) 
* InOnly & InOut MEP Support 
* Plugable Connection Resource Management * Session, Consumer, & Producer Pooling & Caching Management 
* Asynchronous Producer and Consumer Processing * Internal JMS Transaction Support  
Additional key features include:  * Plugable Connection Resource Management * Session, Consumer, & Producer Pooling & Caching Management * Transacted Batch Consumers & Producers * Support for Customizable Transaction Commit Strategies (Local JMS Transactions only)  
{info:title=Why the S in SJMS} S stands for Simple and Standard and Springless.  Also camel-jms was already taken. :) 
...
{code}  
h34. URI format 
 {code} 
...
You append query options to the URI using the following format, {{?option=value&option=value&...}}  
h3. SjmsComponent Options and Configurations 
h3. Usage Notes 
 
As stated above SJMS Component uses a JMS client API that was written from the ground up for use in Camel. As such there are some key behaviors and features that deserve noting.  h4. Plugable Connection Resource Management  Coming soon ...  h4. Session, Consumer, & Producer Pooling & Caching Management  Coming soon ...  h4. Transacted Batch Consumers & Producers  Coming soon ...  h4. Customizable Transaction Commit Strategies (Local JMS Transactions only)  Coming soon ...  h3. Component Options and Configurations  The SJMS Component supports the following configuration options:  {div:class=confluenceTableSmall} || Option || Default Value || Description || | {{connectionFactory}} | {{null}} |  | | {{connectionResource}} | {{null}} |  | | {{headerFilterStrategy}} | {{DefaultJmsKeyFormatStrategy}} |  | | {{keyFormatStrategy}} | {{DefaultJmsKeyFormatStrategy}} |  | | {{maxConnections}} | {{1}} | The maximum number of connections available to endpoints started under this component | | {{transactionCommitStrategy}} | {{DefaultTransactionCommitStrategy()}}  | Defines the number of MessageProducer instances. | {div}  
Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.  
...
{code}  
h3. Producers 
h3. Producer Configuration Options 
 The SjmsProducer Endpoint supports the following properties: 
...
{div}  
h3. Consumers Configuration Options 
 The SjmsConsumer Endpoint supports the following properties: 
...
| {{synchronous}} | {{true}}  | Sets whether the Endpoint will use synchronous or asynchronous processing. | | {{transacted}} | {{false}}  | If the endpoint should use a JMS Session transaction. | 
| {{transactionBatchCount}} | {{1}}  | The number of exchanges to process before committing a local JMS transaction.  The {{transacted}} property must also be set to true or this property will be ignored. | 
| {{ttl}} | {{-1}}  | Disabled by default.  Sets the Message time to live header. | {div}  
h3. Examples 
h3. Usage Notes 
 
h4. Message Header Format  The SJMS Component uses the same header format strategy that is used in the Camel JMS Component. This plugable strategy ensures that messages sent over the wire conform to the JMS Message spec.  For the exchange.in.header the following rules apply for the header keys:  Keys starting with JMS or JMSX are reserved. exchange.in.headers keys must be literals and all be valid Java identifiers (do not use dots in the key name). Camel replaces dots & hyphens and the reverse when when consuming JMS messages: . is replaced by _DOT_ and the reverse replacement when Camel consumes the message. - is replaced by _HYPHEN_ and the reverse replacement when Camel consumes the message. See also the opt

[CONF] Apache Camel > SJMS

2012-08-14 Thread confluence







SJMS
Page edited by Scott England-Sullivan


Comment:
updated client property for acknowledgeMode


 Changes (2)
 




...
{div:class=confluenceTableSmall} || Option || Default Value || Description || 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{CLIENT_ACKNOWLEDGE}}, {{AUTO_ACKNOWLEDGE}}, {{DUPS_OK_ACKNOWLEDGE}} | 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}.  {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}}  | Defines the number of MessageListener instances. | | {{durableSubscriptionId}} | {{null}} | Required for a durable subscriptions. | 
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE.  CLIENT_ACKNOWLEDGE is not supported at this time. 


 consumerCount 
 1  
 InOut only. Defines the number of MessageListener instances that for response consumers. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 InOut only. Specifies a named reply to destination for responses. 


 persistent 
 true  
 Whether a message should be delivered with persistence enabled. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 InOut only. Specifies the amount of time an InOut Producer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 transacted 
 false  
 If the endpoint should use a JMS Session transaction. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





Consumers

The SjmsConsumer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE.  CLIENT_ACKNOWLEDGE is not supported at this time. 


 consumerCount 
 1  
 Defines the number of MessageListener instances

[CONF] Apache Camel > SJMS

2012-08-08 Thread confluence







SJMS
Page edited by Scott England-Sullivan


Comment:
Updated Producer properties to reflect no support for CLIENT_ACKNOWLEDGE at this time.


 Changes (2)
 




...
{div:class=confluenceTableSmall} || Option || Default Value || Description || 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{CLIENT_ACKNOWLEDGE}}, {{AUTO_ACKNOWLEDGE}}, {{DUPS_OK_ACKNOWLEDGE}} | 
| {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{AUTO_ACKNOWLEDGE}} or {{DUPS_OK_ACKNOWLEDGE}}.  {{CLIENT_ACKNOWLEDGE}} is not supported at this time. | 
| {{consumerCount}} | {{1}}  | *InOut only.* Defines the number of MessageListener instances that for response consumers. | | {{exchangePattern}} | {{InOnly}}  | Sets the Producers message exchange pattern. | 
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE.  CLIENT_ACKNOWLEDGE is not supported at this time. 


 consumerCount 
 1  
 InOut only. Defines the number of MessageListener instances that for response consumers. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 InOut only. Specifies a named reply to destination for responses. 


 persistent 
 true  
 Whether a message should be delivered with persistence enabled. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 InOut only. Specifies the amount of time an InOut Producer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 transacted 
 false  
 If the endpoint should use a JMS Session transaction. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





Consumers

The SjmsConsumer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount

[CONF] Apache Camel > SJMS

2012-08-05 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (4)
 




...
{code}  
h4. Clustering  When using InOut with SJMS in a clustered environment you must either use TemporaryQueue destinations or use a unique named reply to destination per InOut producer endpoint.  Message correlation is handled by the endpoint, not with message selectors at the broker.  The InOut Producer Endpoint uses Java Concurrency Exchangers cached by the Message JMSCorrelationID.  This provides a nice performance increase while reducing the overhead on the broker since all the messages are consumed from the destination in the order they are produced by the interested consumer.  Currently the only correlation strategy is to use the JMSCorrelationId.  The InOut Consumer uses this strategy as well ensuring that all responses messages to the included JMSReplyTo destination also have the JMSCorrelationId copied from the request as well.  
h3. Additional Notes  
...
{code}  
 It is just not using the Spring JMS APIs to provide the JMS Client container.  A new container is being developed from the ground up to power SJMS.  So for example, you  
Springless refers to moving away from the dependency on the Spring JMS API.  A new JMS client API is being developed from the ground up to power SJMS. 
 
h4. Clustering  When using InOut with SJMS in a clustered environment you must either use TemporaryQueue destinations or use a unique named reply to destination per InOut producer endpoint.  Message correlation is handled by the endpoint, not with message selectors at the broker.  The InOut Producer Endpoint uses Java Concurrency Exchangers cached by the Message JMSCorrelationID.  This provides a nice performance increase while reducing the overhead on the broker since all the messages are consumed from the destination in the order they are produced by the interested consumer.  Currently the only correlation strategy is to use the JMSCorrelationId.  The InOut Consumer uses this strategy as well ensuring that all responses messages to the included JMSReplyTo destination also have the JMSCorrelationId copied from the request as well.  
h3. Transaction Support {anchor:transactionCacheLevels}  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following prop

[CONF] Apache Camel > SJMS

2012-08-05 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (3)
 




...
{code}  
{note} When using InOut with SJMS in a clustered environment you must either use TemporaryQueue destinations or use a unique named reply to destination per instance.  Message correlation is handled by the endpoint, not with message selectors at the broker. {note} 
h4. Clustering 
 
When using InOut with SJMS in a clustered environment you must either use TemporaryQueue destinations or use a unique named reply to destination per InOut producer endpoint.  Message correlation is handled by the endpoint, not with message selectors at the broker.  The InOut Producer Endpoint uses Java Concurrency Exchangers cached by the Message JMSCorrelationID.  This provides a nice performance increase while reducing the overhead on the broker since all the messages are consumed from the destination in the order they are produced by the interested consumer.  Currently the only correlation strategy is to use the JMSCorrelationId.  The InOut Consumer uses this strategy as well ensuring that all responses messages to the included JMSReplyTo destination also have the JMSCorrelationId copied from the request as well.  h3. Additional Notes  
h4. Does Springless Mean I Can't Use Spring?  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 InOut only. Defines the number of MessageListener instances that for response consumers. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 InOut only. Specifies a named reply to destination for responses. 


 persistent 
 true  
 Whether a message should be delivered with persistence enabled. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 InOut only. Specifies the amount of time an InOut Producer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 transacted 
 false  
 If the endpoint should use a JMS Session transaction. 


 ttl 
 -1  
 Disa

[CONF] Apache Camel > SJMS

2012-08-05 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (1)
 




...
{code}  
{note} When using InOut with SJMS in a clustered environment you must either use TemporaryQueue destinations or use a unique named reply to destination per instance.  Message correlation is handled by the endpoint, not with message selectors at the broker. {note}  
h4. Does Springless Mean I Can't Use Spring?  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 InOut only. Defines the number of MessageListener instances that for response consumers. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 InOut only. Specifies a named reply to destination for responses. 


 persistent 
 true  
 Whether a message should be delivered with persistence enabled. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 InOut only. Specifies the amount of time an InOut Producer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 transacted 
 false  
 If the endpoint should use a JMS Session transaction. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





Consumers

The SjmsConsumer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 Defines the number of MessageListener instances. 


 durableSubscriptionId 
 null 
 Required for a durable subscriptions. 


 exchangePattern 
 InOnly  
 Sets the Consumers message exchange pattern. 


 messageSelector 
 null  
 Sets the message selector. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 transacted 
 false  
 If the endpoint should use a JMS Session transaction. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





Examples

InOnly Produ

[CONF] Apache Camel > SJMS

2012-08-05 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (16)
 




...
|| Option || Default Value || Description || | {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{CLIENT_ACKNOWLEDGE}}, {{AUTO_ACKNOWLEDGE}}, {{DUPS_OK_ACKNOWLEDGE}} | 
| {{consumerCount}} | {{1}}  | Defines the number of MessageListener instances that will be used with the InOut endpoint. | 
| {{consumerCount}} | {{1}}  | *InOut only.* Defines the number of MessageListener instances that for response consumers. | 
| {{exchangePattern}} | {{InOnly}}  | Sets the Producers message exchange pattern. | 
| {{namedReplyTo}} | {{null}}  | *InOut only.* Specifies a named reply to destination for InOut endpoint. responses. | 
| {{persistent}} | {{true}}  | Whether a message should be delivered with persistence enabled. | 
| {{producerCount}} | {{1}}  | Defines the number of MessageProducer instances. | 
| {{responseTimeOut}} | {{5000}}  | *InOut only.* Specifies the amount of time an InOut Producer will wait for its response. | 
| {{synchronous}} | {{true}}  | Sets whether the Endpoint will use synchronous or asynchronous processing. | 
| {{transacted}} | {{false}}  | If the endpoint should use a JMS Session transaction. | 
| {{ttl}} | {{-1}}  | Disabled by default.  Sets the Message time to live header. | {div}  
h3. Consumers  The SjmsConsumer Endpoint supports the following properties:  {div:class=confluenceTableSmall} || Option || Default Value || Description || | {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{CLIENT_ACKNOWLEDGE}}, {{AUTO_ACKNOWLEDGE}}, {{DUPS_OK_ACKNOWLEDGE}} | | {{consumerCount}} | {{1}}  | Defines the number of MessageListener instances. | | {{durableSubscriptionId}} | {{null}} | Required for a durable subscriptions. | | {{exchangePattern}} | {{InOnly}}  | Sets the Consumers message exchange pattern. | | {{messageSelector}} | {{null}}  | Sets the message selector. | | {{synchronous}} | {{true}}  | Sets whether the Endpoint will use synchronous or asynchronous processing. | | {{transacted}} | {{false}}  | If the endpoint should use a JMS Session transaction. | | {{ttl}} | {{-1}}  | Disabled by default.  Sets the Message time to live header. | {div}  h3. Examples  
h4. InOnly Producer - (Default)  
...
h4. InOut Producer  
To enable InOut behavior with the  
To enable InOut behavior append the {{exchangePattern}} attribute to the URI.  By default it will use a dedicated TemporaryQueue for each consumer. 
 {code} 
...
{code}  
h4. SJMS Consumer 
You can specify a {{namedReplyTo}} though which can provide a better monitor point. 
 {code} 
from("direct:start") .to("sjms:queue:bar?exchangePattern=InOut&namedReplyTo=my.reply.to.queue"); 
{code}  
h4. Transactions {anchor:transactionCacheLevels} 
h4. Does Springless Mean I Can't Use Spring? 
 
There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API. 
Not at all.  Below is an example of the SJMS component using the Spring DSL:  {code} id="inout.named.reply.to.producer.route"> uri="direct:invoke.named.reply.to.queue" /> uri="sjms:queue:named.reply.to.queue?namedReplyTo=my.response.queue&exchangePattern=InOut" />  {code}   It is just not using the Spring JMS APIs to provide the JMS Client container.  A new container is being developed from the ground up to power SJMS.  So for example, you   h3. Transaction Support {anchor:transactionCacheLevels}  There is currently no support the Camel Transaction Processor nor does it support the Java Transaction API (JTA).  Only internal JMS Session Transactions are supported at this time. 


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this c

[CONF] Apache Camel > SJMS

2012-08-05 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (1)
 




...
*Available as of Camel 2.11*  
{note} This component is under active development. {note}  
The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:  
...


Full Content

SJMS Component

Available as of Camel 2.11

This component is under active development.

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 Defines the number of MessageListener instances that will be used with the InOut endpoint. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 Specifies a named reply to destination for InOut endpoint. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 Specifies the amount of time an InOutProducer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





InOnly Producer - (Default)

The InOnly Producer is the default behavior of the SJMS Producer Endpoint.



from("direct:start")
.to("sjms:queue:bar");



InOut Producer

To enable InOut behavior with the 



from("direct:start")
.to("sjms:queue:bar?exchangePattern=InOut");



SJMS Consumer






Transactions 

There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API.



Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-08-03 Thread confluence







SJMS
Page edited by Christian Mueller


 Changes (2)
 




*Available as of Camel 2.11* 
h2. SJMS Component 
*Available as of Camel 2.11* 
 The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality: 
...


Full Content

SJMS Component
Available as of Camel 2.11

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 Defines the number of MessageListener instances that will be used with the InOut endpoint. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 Specifies a named reply to destination for InOut endpoint. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 Specifies the amount of time an InOutProducer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





InOnly Producer - (Default)

The InOnly Producer is the default behavior of the SJMS Producer Endpoint.



from("direct:start")
.to("sjms:queue:bar");



InOut Producer

To enable InOut behavior with the 



from("direct:start")
.to("sjms:queue:bar?exchangePattern=InOut");



SJMS Consumer






Transactions 

There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API.



Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-08-03 Thread confluence







SJMS
Page edited by Christian Mueller


 Changes (1)
 




*Available as of Camel 2.11* 
h2. SJMS Component  
...


Full Content

Available as of Camel 2.11
SJMS Component

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 Defines the number of MessageListener instances that will be used with the InOut endpoint. 


 exchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 Specifies a named reply to destination for InOut endpoint. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 Specifies the amount of time an InOutProducer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





InOnly Producer - (Default)

The InOnly Producer is the default behavior of the SJMS Producer Endpoint.



from("direct:start")
.to("sjms:queue:bar");



InOut Producer

To enable InOut behavior with the 



from("direct:start")
.to("sjms:queue:bar?exchangePattern=InOut");



SJMS Consumer






Transactions 

There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API.



Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-08-03 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (1)
 




...
h3. Producers  
The SjmsProducer Endpoint supports the following properties:  {div:class=confluenceTableSmall} || Option || Default Value || Description || | {{acknowledgementMode}} | {{AUTO_ACKNOWLEDGE}}  | The JMS acknowledgement name, which is one of: {{TRANSACTED}}, {{CLIENT_ACKNOWLEDGE}}, {{AUTO_ACKNOWLEDGE}}, {{DUPS_OK_ACKNOWLEDGE}} | | {{consumerCount}} | {{1}}  | Defines the number of MessageListener instances that will be used with the InOut endpoint. | | {{messageExchangePattern}} | {{InOnly}}  | Sets the Producers message exchange pattern. | | {{namedReplyTo}} | {{null}}  | Specifies a named reply to destination for InOut endpoint. | | {{producerCount}} | {{1}}  | Defines the number of MessageProducer instances. | | {{responseTimeOut}} | {{5000}}  | Specifies the amount of time an InOutProducer will wait for its response. | | {{synchronous}} | {{true}}  | Sets whether the Endpoint will use synchronous or asynchronous processing. | | {{ttl}} | {{-1}}  | Disabled by default.  Sets the Message time to live header. | {div}  
h4. InOnly Producer - (Default)  
...


Full Content

SJMS Component

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

The SjmsProducer Endpoint supports the following properties:




 Option 
 Default Value 
 Description 


 acknowledgementMode 
 AUTO_ACKNOWLEDGE  
 The JMS acknowledgement name, which is one of: TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 


 consumerCount 
 1  
 Defines the number of MessageListener instances that will be used with the InOut endpoint. 


 messageExchangePattern 
 InOnly  
 Sets the Producers message exchange pattern. 


 namedReplyTo 
 null  
 Specifies a named reply to destination for InOut endpoint. 


 producerCount 
 1  
 Defines the number of MessageProducer instances. 


 responseTimeOut 
 5000  
 Specifies the amount of time an InOutProducer will wait for its response. 


 synchronous 
 true  
 Sets whether the Endpoint will use synchronous or asynchronous processing. 


 ttl 
 -1  
 Disabled by default.  Sets the Message time to live header. 





InOnly Producer - (Default)

The InOnly Producer is the default behavior of the SJMS Producer Endpoint.



from("direct:start")
.to("sjms:queue:bar");



InOut Producer

To enable InOut behavior with the 



from("direct:start")
.to("sjms:queue:bar?exchangePattern=InOut");



SJMS Consumer






Transactions 

There is current

[CONF] Apache Camel > SJMS

2012-08-03 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (3)
 




...
You append query options to the URI using the following format, {{?option=value&option=value&...}}  
h3. Notes 
h3. SjmsComponent Options and Configurations 
 
Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.  {code} SjmsComponent component = new SjmsComponent(); component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616")); getContext().addComponent("sjms", component); {code}  For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the *clientId* property.  {code} ConnectionFactoryResource connectionResource = new ConnectionFactoryResource(); connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616")); connectionResource.setClientId("myclient-id");  SjmsComponent component = new SjmsComponent(); component.setConnectionResource(connectionResource); component.setMaxConnections(1); {code}  h3. Producers  h4. InOnly Producer - (Default)  The InOnly Producer is the default behavior of the SJMS Producer Endpoint.  {code} from("direct:start") .to("sjms:queue:bar"); {code}  h4. InOut Producer  To enable InOut behavior with the   {code} from("direct:start") .to("sjms:queue:bar?exchangePattern=InOut"); {code}  h4. SJMS Consumer  {code} {code}  
h4. Transactions {anchor:transactionCacheLevels}  
...


Full Content

SJMS Component

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

SjmsComponent Options and Configurations

Below is an example of how to configure the SjmsComponent with its required ConnectionFactory provider.  It will create a single connection by default and store it using the components internal pooling APIs to ensure that it is able to service Session creation requests in a thread safe manner.



SjmsComponent component = new SjmsComponent();
component.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
getContext().addComponent("sjms", component);



For a SjmsComponent that is required to support a durable subscription, you can override the default ConnectionFactoryResource instance and set the clientId property.



ConnectionFactoryResource connectionResource = new ConnectionFactoryResource();
connectionResource.setConnectionFactory(new ActiveMQConnectionFactory("tcp://localhost:61616"));
connectionResource.setClientId("myclient-id");

SjmsComponent component = new SjmsComponent();
component.setConnectionResource(connectionResource);
component.setMaxConnections(1);



Producers

InOnly Producer - (Default)

The InOnly Producer is the default behavior of the SJMS Producer Endpoint.



from("direct:start")
.to("sjms:queue:bar");



InOut Producer

To enable InOut behavior with the 



from("direct:start")
.to("sjms:queue:bar?exchangePattern=InOut");



SJMS Consumer






Transactions 

There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API.



Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-08-02 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (11)
 




h2. Simple JMS Component (or Standard or Springless) - Alpha 
h2. SJMS Component 
 
The Simple JMS Component is a drop in replacement for the current Spring container based Camel-JMS component.  It is currently being hosted at [github|https://github.com/sully6768/camel-sandbox] while under development.  It can be retrieved and built using the following steps: 
The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality: 
 
* git clone https://github.com/sully6768/camel-sandbox * cd camel-sandbox/components/camel-sjms * mvn clean install 
* Queue and Topic Support (Durable & Non-Durable) * InOnly & InOut Support * Plugable Connection Resource Management * Session, Consumer, & Producer Pooling & Caching Management * Asynchronous Producer and Consumer Processing * Internal JMS Transaction Support 
 
After a successful build, add the following dependency to the {{pom.xml}} for this component: 
{info:title=Why the S in SJMS} S stands for Simple and Standard and Springless.  Also camel-jms was already taken. :) {info}  Maven users will need to add the following dependency to their {{pom.xml}} for this component: 
{code:xml}  
...
camel-sjms x.x.x 
 
 
 {code} 
 h3. URI format  {code} sjms:[queue:|topic:]destinationName[?options] {code}  Where {{destinationName}} is a JMS queue or topic name. By default, the {{destinationName}} is interpreted as a queue name. For example, to connect to the queue, {{FOO.BAR}} use:  {code} sjms:FOO.BAR {code}  You can include the optional {{queue:}} prefix, if you prefer:  {code} sjms:queue:FOO.BAR {code}  To connect to a topic, you _must_ include the {{topic:}} prefix. For example, to connect to the topic, {{Stocks.Prices}}, use:  {code} sjms:topic:Stocks.Prices {code}  You append query options to the URI using the following format, {{?option=value&option=value&...}}  h3. Notes  h4. Transactions {anchor:transactionCacheLevels}  There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API. 


Full Content

SJMS Component

The SJMS Component is a JMS client for Camel based purely on the JMS API.  It will be released as part of Camel 2.11 with the following functionality:


	Queue and Topic Support (Durable & Non-Durable)
	InOnly & InOut Support
	Plugable Connection Resource Management
	Session, Consumer, & Producer Pooling & Caching Management
	Asynchronous Producer and Consumer Processing
	Internal JMS Transaction Support



Why the S in SJMSS stands for Simple and Standard and Springless.  Also camel-jms was already taken. 

Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x





URI format



sjms:[queue:|topic:]destinationName[?options]



Where destinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name. For example, to connect to the queue, FOO.BAR use:



sjms:FOO.BAR



You can include the optional queue: prefix, if you prefer:



sjms:queue:FOO.BAR



To connect to a topic, you must include the topic: prefix. For example, to connect to the topic, Stocks.Prices, use:



sjms:topic:Stocks.Prices



You append query options to the URI using the following format, ?option=value&option=value&...

Notes

Transactions 

There is currently no support the Camel Transaction Processor nor does it support the Camel Transaction API.



Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-07-24 Thread confluence







 SJMS
 Page removed by Christian Mueller

 
 
 Simple JMS Component (or Standard or Springless) - Alpha

The Simple JMS Component is a drop in replacement for the current Spring container based Camel-JMS component.  It is currently being hosted at github while under development.  It can be retrieved and built using the following steps:


	git clone https://github.com/sully6768/camel-sandbox
	cd camel-sandbox/components/camel-sjms
	mvn clean install



After a successful build, add the following dependency to the pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x




 








[CONF] Apache Camel > SJMS

2012-07-23 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (2)
 




...
* mvn clean install  
Maven users will need to add the following dependency to their {{pom.xml}} for this component: 
After a successful build, add the following dependency to the {{pom.xml}} for this component: 
{code:xml}  
...


Full Content

Simple JMS Component (or Standard or Springless) - Alpha

The Simple JMS Component is a drop in replacement for the current Spring container based Camel-JMS component.  It is currently being hosted at github while under development.  It can be retrieved and built using the following steps:


	git clone https://github.com/sully6768/camel-sandbox
	cd camel-sandbox/components/camel-sjms
	mvn clean install



After a successful build, add the following dependency to the pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x







Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-07-23 Thread confluence







SJMS
Page edited by Scott England-Sullivan


 Changes (3)
 




h2. Simple JMS Component (or Standard or Springless) - Alpha 
 
The Simple JMS Component is a drop in replacement for the current Spring container based Camel-JMS component.  It is currently being hosted at [github|https://github.com/sully6768/camel-sandbox] while under development.  It can be retrieved and built using the following steps: 
 * git clone https://github.com/sully6768/camel-sandbox * cd camel-sandbox/components/camel-sjms * mvn clean install  Maven users will need to add the following dependency to their {{pom.xml}} for this component: {code:xml}  org.apache.camel camel-sjms x.x.x   {code} 


Full Content

Simple JMS Component (or Standard or Springless) - Alpha

The Simple JMS Component is a drop in replacement for the current Spring container based Camel-JMS component.  It is currently being hosted at github while under development.  It can be retrieved and built using the following steps:


	git clone https://github.com/sully6768/camel-sandbox
	cd camel-sandbox/components/camel-sjms
	mvn clean install



Maven users will need to add the following dependency to their pom.xml for this component:



org.apache.camel
camel-sjms
x.x.x







Change Notification Preferences

View Online
|
View Changes
|
Add Comment









[CONF] Apache Camel > SJMS

2012-07-23 Thread confluence







SJMS
Page  added by Scott England-Sullivan

 

 Simple JMS Component (or Standard or Springless)

The Simple JMS Component is a drop in replacement for the current Spring container based Camel-JMS component.


   
Change Notification Preferences
   
   View Online
  |
   Add Comment