Java Message Service (JMS) is a widely used API in Java-based Message Oriented Middleware(MOM) applications. It facilitates loosely coupled, reliable, and asynchronous communication between different components of a distributed application.
...
Parameter Name | Description | Required | Possible Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
| JNDI initial context factory class. The class must implement the | Yes | A valid class name | org.apache.activemq.jndi.ActiveMQInitialContextFactory | |||||
| URL of the JNDI provider. | Yes | A valid URL | tcp://localhost:61616 | |||||
| JNDI Username. | No | |||||||
| JNDI password. | No | |||||||
| Preferred mode of transactionality.
| No | none: Disables transactions in the JMS transport local: Enables local JMS session transactions jta: Enables global JTA transactions | none | |||||
| JNDI name to be used to require user transaction. | No | java:comp/UserTransaction | ||||||
| Whether caching for user transactions should be enabled or not. | No | true, false | true | |||||
| Whether the JMS session should be transacted or not. | No | true, false | true if transactionality is 'local' | |||||
| JMS session acknowledgment mode. | No |
Also see JMS Message Delivery Reliability and Acknowledgement Patterns. | AUTO_ACKNOWLEDGE | |||||
| The JNDI name of the connection factory. | Yes | QueueConnectionFactory, TopicConnectionFactory | ConnectionFactory | |||||
| Type of the connection factory. | No | queue, topic | queue | |||||
| JMS API version. | No | 1.1, 1.0.2b | 1.1 | |||||
| The JMS connection username. | No | |||||||
| The JMS connection password. | No | |||||||
| The JNDI name of the destination. | No | Defaults to service name | ||||||
| Type of the destination. | No | queue, topic | queue | |||||
| JNDI name of the default reply destination. | No | |||||||
| Type of the reply destination. | No | queue, topic | Defaults to the type of the destination | |||||
| Message selector implementation. | No | |||||||
| Whether the connection factory is subscription durable or not. | No | true, false | false | |||||
transport.jms.DurableSubscriberClientID | The ClientId parameter when using durable subscriptions | Required if the value specified as | |||||||
| The name of the durable subscriber. | Required if the value | |||||||
| Whether the messages should be published by the same connection they were received. | No | true, false | false | |||||
| The cache level, with which JMS objects should be cached at start up. You can configure this in the Example:
Else, you can configure as a proxy service parameter, if WSO2 EI acts as a consumer. Following are the possible values for this parameter and the description of each:
| No | none, connection, session, consumer, producer, auto | auto | |||||
| Time to wait for a JMS message during polling. Set this parameter value to a negative integer to wait indefinitely. Set to zero to prevent waiting. | No | Number of milliseconds to wait | 1000 ms | |||||
| Number of concurrent threads to be started to consume messages when polling. | No | Any positive integer - For topics this must be always 1 | 1 | |||||
| Maximum number of concurrent threads to use during polling. | No | Any positive integer - For topics this must be always 1 | 1 | |||||
| The number of idle runs per thread before it dies out. | No | Any positive integer | 10 | |||||
| The maximum number of successful message receipts per thread. | No | Any positive integer - Use -1 to indicate infinity | -1 | |||||
| Initial reconnection attempts duration in milliseconds. | No | Any positive integer | 10000 ms | |||||
| Factor by which the reconnection duration will be increased. | No | Any positive integer | 2 | |||||
| Maximum reconnection duration in milliseconds. | No | 3600000 ms (1 hr) | ||||||
transport.jms.ReconnectInterval | Reconnection interval in milliseconds. | No | >3600000 ms (1 hr) | ||||||
| Maximum cached JMS connections in the producer level. | No | Any positive integer value | 10 | |||||
| Number of retries on consume errors before sleep delay kicks in. | No | Any positive integer value | 20 | |||||
| Sleep delay when a consume error is encountered (in milliseconds). | No | Any positive integer value | 100 ms | |||||
| Factor by which the consume error retry sleep will be increased. | No | Any positive integer value | 2.0 | |||||
transport.jms.MaxConsumeErrorRetryCount | The maximum number of times the consumer should retry upon receiving a consumer error. You need to introduce this parameter only if the Broker has issues in notifying the Exception Listeners about the exceptions occurred. | No | Any positive integer value | -1 |
...
Code Block |
---|
<JMSMap xmlns="http://axis.apache.org/axis2/java/transports/jms/map-payload"> <name1>value1</name1> <name2>value2</name2> <name3>value3</name3> </JMSMap> |
Note | ||
---|---|---|
When reconnecting back to the JMS provider, the JMS transport will spawn multiple threads and once connected the additional threads will get closed. Hence, you will see below log for a particular service multiple times.
|
Excerpt | ||
---|---|---|
| ||
Describes producing and consuming JMS MapMessage objects in the ESB Profile of WSO2 EI |