JMS Inbound¶
Introduction¶
The JMS inbound protocol is an alternative to the JMS transport. The JMS inbound protocol implementation requires an active JMS server instance to be able to receive messages, and you need to place the client JARs for your JMS server in the Micro Integrator.
Properties¶
Listed below are the properties used for creating a JMS inbound endpoint.
Required Properties¶
The following properties are required when creating a JMS inbound endpoint.
Property | Description |
---|---|
java.naming.factory.initial |
The JNDI initial context factory class. The class must implement the |
java.naming.provider.url |
The URL of the JNDI provider. |
transport.jms.ConnectionFactoryJNDIName |
The JNDI name of the connection factory. |
interval | The polling interval for the inbound endpoint to execute each cycle. This value is set in milliseconds. |
coordination |
This optional property is only applicable in a cluster environment. In a clustered environment, an inbound endpoint will only be executed in worker nodes. If set to true in a cluster setup, this will run the inbound only in a single worker node. Once the running worker is down, the inbound starts on another available worker in the cluster. By default, coordniation is enabled.
|
sequential | Whether the messages need to be polled and injected sequentially or not. |
Optional Properties¶
The following optional properties can be configured when creating a JMS inbound endpoint.
Property Name |
Description |
---|---|
transport.jms.ConnectionFactoryType | The type of the connection factory. Set to queue by default. |
transport.jms.Destination/p> |
The JNDI name of the destination. |
transport.jms.SessionAcknowledgement |
The JMS session acknowledgment mode. You can use one of the following: |
transport.jms.CacheLevel |
The JMS resource cache level. Possible values are as follows: |
transport.jms.UserName |
The JMS connection username. |
transport.jms.Password |
The JMS connection password. |
transport.jms.JMSSpecVersion |
The JMS API version. The possible values are as follows: |
transport.jms.SubscriptionDurable | Whether the connection factory is subscription durable or not. |
transport.jms.DurableSubscriberClientID | The ClientId parameter when using durable subscriptions. This property is required if the value specified as transport.jms.SubscriptionDurable is true . |
transport.jms.DurableSubscriberName |
The name of the durable subscriber. This property is required if the value specified as |
transport.jms.MessageSelector | Message selector implementation. |
transport.jms.ReceiveTimeout | The time to wait for a JMS message during polling. Set this parameter value to a negative integer to wait indefinitely. Set it to zero to prevent waiting. The default value is 1. |
transport.jms.ContentType | How the inbound listener should determine the content type of received messages. Priority is always given to the JMS message type. Possible values are any simple string value. In which case the transport listener assumes that the received messages always have the specified content type, or a set of rules. For more information, see http://axis.apache.org/axis2/java/transports/jms.html#Service_configuration. |
transport.jms.ContentTypeProperty | Gets the content type from the message property. |
transport.jms.ReplyDestination | The destination where the response generated by the back-end service is stored. |
transport.jms.PubSubNoLocal |
Whether messages should be published via the same connection that they were received. |
transport.jms.SharedSubscription |
If set to |
pinnedServers |
List of synapse server names separated by commas or spaces where this inbound endpoint should be deployed. If there is no pinned server list, the inbound endpoint configuration will be deployed in all server instances. |
transport.jms.ConcurrentConsumers | Number of concurrent threads to be started to consume messages when polling. The default value is 1. You can change this to any positive integer. However, for topics the value must always be 1. |
transport.jms.retry.duration |
The retry interval (in miliseconds) to reconnect to the JMS server. |
transport.jms.RetriesBeforeSuspension | The number of consecutive mediation failures after which polling should be suspended. Specify any positive numerical value based on your requirement. Polling will be suspended when the mediation failure count reaches the specified value. |
transport.jms.PollingSuspensionPeriod | The period of time that polling is to be suspended when the transport.jms.RetriesBeforeSuspension parameter is set. Default value is 60000. |