ActiveMQ JMS input event adapter is receiver is an internal event adapter that receiver that comes with WSO2 products by default. You can configure it with XML, map, JSON, and text input mapping types.
Table of Contents maxLevel 3
Prerequisites
Follow the steps below to set up the prerequisites before starting the configuration.
Install Apache ActiveMQ JMS.
Add the following ActiveMQ JMS-specific JAR files toInfo This guide uses ActiveMQ versions 5.7.0 or below. If you want to use a later version, for instructions on the necessary changes to the configuration steps, go to Apache ActiveMQ Documentation.
<CEP_HOME>/repository/components/lib/
directory.<ACTIVEMQ_HOME>/lib/activemq-core-xxx.jar
Configure WSO2 CEP by adding relevant libraries to support JMS transport.
- Start the ActiveMQ JMS server.
<ACTIVEMQ_HOME>/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar
Creating an ActiveMQ JMS
...
event
...
You can create an ActiveMQ JMS input event adapter either using the management console or using a configuration file as explained below.
...
receiver
For instructions on creating an ActiveMQ JMS input event adapter using the management console receiver, see Receiving EventsConfiguring Event Receivers.
...
Configuring adapter properties
...
The above adapter properties are described below.
Adapter Property | Description | Example |
---|---|---|
Topic/Queue Name | A string of characters to denote a valid name of a JMS topic to subscribe to, or named queue to use when WSO2 CEP sends and receives messages. | Test Topic |
JNDI Initial Context Factory Class | JNDI initial context factory class. The class must implement the | org.apache.activemq.jndi.ActiveMQInitialContextFactory |
JNDI Provider URL | URL of the JNDI provider. | tcp://localhost:61616 |
The JMS connection password | A valid password for the JMS connection. | ******* |
The JMS connection username | A valid username for the JMS connection. | jms_user |
Connection Factory JNDI Name | The JNDI name of the connection factory. | TopicConnectionFactory |
Destination Type | The sort order for messages that arrive on a specific destination. | topic/queue |
Enable Durable Subscription | Whether the subscription is durable or not. | true/false |
Durable Subscriber Name | A string of characters to denote a valid name of the durable subscriber. (It enables durable subscription if you add any value here). | subscriber |
JMS Properties | Valid property and value pairs to denote Axis2 JMS properties (e.g. "property1: value1, property2: value2") For more information on JMS properties, go to Apache AXIS2 Transports Documentation. | SessionTransacted:false |
Info |
---|
After entering the above adapter properties, select the Event Stream to which you want to map the incoming events, and the Message Format which you want to apply on the receiving events. Also, click Advanced to define custom input mappings based on the Message Format you selected. For more information on custom input mapping types, see |
...
For instructions on creating an ActiveMQ JMS input event adapter using a configuration file, see Receiving Events.
Note |
---|
Use the following configuration file to create an ActiveMQ JMS input event adapter. An event receiver implementation must start with |
You can also define the respective adapter properties of the event receiver based on the transport type within the <from>
element of the event receiver configuration in the <PRODUCT_HOME>/repository/deployment/server/eventreceivers/
directory as follows.
Code Block | ||
---|---|---|
| ||
<eventReceiver name="ActiveMQJMSInputEventAdapter" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventreceiver"> <from eventAdapterType="jms"> <property name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</property> <property name="java.naming.provider.url">tcp://localhost:61616</property> <property name="transport.jms.DestinationTypeUserName">topic<>jms-user</property> <property encrypted="true" name="transport.jms.SubscriptionDurable">false<Password">P2ve4G8+qF7JXkiGnP9/Ew5GXALEWTu7znEwxZGYa/MQMaQBRfsXiP094fn9U+0rntdBMitXU9o7h5uV3m5h97Po8WTJRpnFBV5YCGZEO+ELSg6twY3386MipwFhFMrbUMKamI2sXksDRcogojWKtoHNmODnt8Ud1dh0LK5zqec= </property> <property name="transport.jms.DestinationDestinationType">test_topic<>topic</property> <property name="transport.jms.ConnectionFactoryJNDINameSubscriptionDurable">TopicConnectionFactory<>false</property> </from> <property name="transport.jms.DurableSubscriberName">subscriber</property> <mapping<property customMappingname="disable" type="xml"/>jms.properties">SessionTransacted:false</property> <property name="transport.jms.Destination">test_topic</property> <to streamName="Test Stream" version <property name="1transport.0jms.0"/>ConnectionFactoryJNDIName">TopicConnectionFactory</property> </from> ...................... </eventReceiver> |
The above adapter properties of the above configuration are described below.
Adapter | |||
---|---|---|---|
Property | Description | ||
name | Name of the ActiveMQ JMS input event adapter | ||
statistics | Whether monitoring event statistics is enabled for the receiver | ||
trace | Whether tracing events is enabled for the receiver | ||
xmlns | XML namespace for event receivers | ||
eventAdapterType | Type of the event adapter. | ||
Configuration file property | Example | ||
Topic/Queue Name | A string of characters to denote a valid name of a JMS topic to subscribe to, or named queue to use when WSO2 CEP/DAS sends and receives messages. | transport.jms.Destination | Test Topic |
JNDI Initial Context Factory Class | JNDI initial context factory class. The class must implement the | java.naming.provider.url.factory.initial | org.apache.activemq.jndi.ActiveMQInitialContextFactory |
JNDI Provider URL | URL of the JNDI provider. | java.naming.provider.url | tcp://localhost:61616 |
The JMS connection password | A valid password for the JMS connection. | transport.jms.Password | jms-password |
The JMS connection username | A valid username for the JMS connection. | transport.jms.UserName | jms-user |
Connection Factory JNDI Name | The JNDI name of the connection factory. | transport.jms.DestinationTypeConnectionFactoryJNDIName | TopicConnectionFactory |
Destination Type | The sort order for messages that arrive on a specific destination. | transport.jms.SubscriptionDurableDestinationType | topic/queue |
Enable Durable Subscription | Whether the subscription is durable or not. | transport.jms.DestinationSubscriptionDurable | true/false |
Durable Subscriber Name | A string of characters to denote a valid name of | a JMS topic to subscribe to, or named queue to use when WSO2 CEP sends and receives messages.||
transport.jms.ConnectionFactoryJNDIName | The JNDI name of the connection factory. | ||
customMapping | Whether a custom mapping is enabled on the receiver. | ||
type | Type of the enabled custom mapping. | ||
streamName | Name if the event stream to which the receiver is mapped.the durable subscriber. (It enables durable subscription if you add any value here). | transport.jms.DurableSubscriberName | subscriber |
JMS Properties | Valid property and value pairs to denote Axis2 JMS properties (e.g. "property1: value1, property2: value2") For more information on Axis2 JMS properties, go to Apache AXIS2 Transports Documentation. | jms.properties | SessionTransacted:false |
Related samples
For more information on ActiveMQ event receiver type, see the following samples.