The JMS message store persists messages in a JMS queue inside a JMS Broker. The JMS message store can be configured by specifying the class as org.apache.synapse.message.store.impl.jms.JmsStore
. Since the JMS message stores persist messages in a JMS queue in an ordered manner, JMS message stores can be used to implement the store-and-forward pattern.
Note |
---|
Note that WSO2 EI has separate message store implementation for WSO2 MB and RabbitMQ. Therefore, if you are using those JMS brokers as your messages store, see the following topics: |
Explained below are the parameters you need to configure for a JMS Message Store. Also, find details of other configurations that are relevant to the JMS Message Store. See the following topics for details:
...
Tip |
---|
Use one of the following links for instructions on how to create a message store artifact for the ESB. Be sure to set the message store type as JMS Message Store, and configure the parameters as explained below. |
Listed below are the required parameters for configuring the JMS Message Store.
Parameter Name | Description |
---|---|
Message Store Name | Give a unique name for the JMS message store |
Message Store type | Select JMS Message Store from the list of options. |
Initial Context Factory | The URL of the JNDI provider. |
Provider URL | The password to connect to the broker. |
If you need to ensure guaranteed delivery of your messages, specify values for the following parameters:
Parameter Name | Description |
---|---|
Enable Producer Guaranteed Delivery | This flag specifies whether guaranteed delivery is enabled on the producer side. The value is set to False , by default. |
Failover Message Store | The message store to which the store mediator should send messages when the original message store fails. |
If required, you can configure the optional parameters listed below.
Parameter Name | Value |
---|---|
JNDI Queue Name (store.jms.destination ) | The message store queue name. Though this is not a required parameter, we recommend specifying a value for this. |
Connection factory (store.jms.connection.factory ) | The JNDI name of the connection factory that is used to create JMS connections. Though this is not a required parameter, we recommend specifying a value for this. |
User Name (store.jms.username ) | The username to connect to the broker. This value is not required. |
Password (store.jms.password ) | The password to connect to the broker. This value is not required |
JMS API Specification Version (store.jms.JMSSpecVersion ) | The JMS API version to be used. Possible values are 1.1 or 1.0. By default, the value is set to 1.1. |
vender.class.loader.enabled | Set to false when using IBM MQ, which requires skipping the external class loader. |
Individual message priorities can be set using the following property on the provider. For example, the value can be 0-9 for ActiveMQ.
...
Info | ||
---|---|---|
| ||
When you configure a JMS message store with the ActiveMQ, you need to copy the required client libraries to the For information on the client libraries that you need to copy when configuring a JMS message store with ActiveMQ, see Configure with ActiveMQ. |
Related topics
...
- Read more about this use case: Store and Forward Using JMS Message Stores.