JmsEventSource
The JmsEventSource
is used to fire an event when a message is received through the configured JMS queue or topic. The message has to be of MapMessage
type and the data contained in it is made available through the runtime configuration repository. The detailed settings depend on the JMS implementation and the container.
The nevisDataPorter starts even if the JMS service is not available. In this case, or if the connection is lost, it tries to reconnect to the JMS service periodically. The period can be set in the configuration.
Configuration
Name | Type, usage constraints, defaults | Description |
---|---|---|
destination | required: paraVal default: none type: JNDI name of the destination | The JNDI name used to obtain the destination. |
jndiProperties | required: paraMap default: none type: string/string map | A map containing the Java properties to set up JNDI. |
reconnectTimeInterval | optional: paraVal default: 60000 type: long | The period of the JMS service reconnection. It has to be set in milliseconds. Optional. The default value is 1 minute. |
connectionFactoryName | optional: paraVal default: ConnectionFactory type: JNDI name | The JNDI name of the connection factory. |
listeners | optional: paraVal default: 10 type: integer | The number of parallel message listeners that are used. The number corresponds to the number of parallel DataPorter instances that are available for the processing of JMS messages. For JMS topics, the number of listeners should be 1. Otherwise, messages are received multiple times. |
username | optional: paraVal default: none type: string | The selected user name for authentication with the JMS server. Must be used together with password. |
password | optional: paraVal default: none type: string sensitive: true | The password used for authentication with the JMS server. Must be used together with username. |
Example
A nevisIDM provisioning queue running in an AdnJboss container.
<eventSource name="nevisidmEvents" type="JmsEventSource">
<dp:paraVal name="destination" value="queue/Provisioning" />
<dp:paraVal name="reconnectTimeInterval" value="20000" />
<dp:paraMap name="jndiProperties">
<value name="java.naming.provider.url" value="jnp://localhost:10000" />
<value name="java.naming.factory.url.pkgs" value="org.jboss.naming.client"/>
<value name="java.naming.factory.initial" value="org.jnp.interfaces.NamingContextFactory"/>
</dp:paraMap>
</eventSource>