Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can configure any type of JMS event adaptor adapter to run with CEP. We discuss how to configure a few common types hereWSO2 products. You can receive XML, Mapmap, JSON, and Text text events using JMS transport.

Table of Contents
maxLevel3
minLevel3

ActiveMQ Input JMS Event Adaptor

Follow the instructions below to configure ActiveMQ Input JMS Event Adaptor.

...

Install Apache ActiveMQ JMS Event Adaptor. This document is for ActiveMQ versions 5.7.0 or below. If you want to use a later version, make the necessary changes to the configuration steps based on http://activemq.apache.org/activemq-580-release.html.

...

  • <ACTIVEMQ_HOME>/ lib/activemq-core-xxx.jar  
  • <ACTIVEMQ_HOME>/ lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar  

...

Start ActiveMQ and then start the CEP.

Note

Be sure to start ActiveMQ before starting WSO2 CEP.

Y ou can configure this adaptor through the management console as explained below or by manually adding an XML file as explained in step 8.

...

Image Removed

Following values are used in the configuration above:

No Format
Event Adaptor Name                  : activemqJmsInputAdaptor
Event Adaptor Type                  : jms
JNDI Initial Context Factory Class  : org.apache.activemq.jndi.ActiveMQInitialContextFactory
URL of the JNDI provider            : tcp://localhost:61616
Connection Factory JNDI Name        : TopicConnectionFactory
Destination Type                    : topic
Enable Durable Subscription         : false

...

Create the XML file with the following WSO2Event event adaptor configurations. Input event adaptor implementation must start with <inputEventAdaptor> root element.

...

Code Block
languagehtml/xml
<inputEventAdaptor name="activemqJmsInputAdaptor" statistics="disable"
  trace="disable" type="jms" xmlns="http://wso2.org/carbon/eventadaptormanager">
  <property name="java.naming.provider.url">tcp://localhost:61616</property>
  <property name="transport.jms.SubscriptionDurable">false</property>
  <property name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</property>
  <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
  <property name="transport.jms.DestinationType">topic</property>
</inputEventAdaptor>

JMS event adaptor can be configured with XML , Map, Json and Text input mapping.

Qpid Input JMS Event Adaptor

Follow the instructions below to configure JMS-Qpid Input Event Adaptor.

...

Install JMS-Qpid Broker and JMS-Qpid Client from http://qpid.apache.org.

...

Enter details in the form that appears and click Add Event Adaptor button at the end of the form. For example,  
 
Following values are used in the configuration above:   

No Format
Event Adaptor Name                  : QpidJmsInputAdaptor
Event Adaptor Type                  : jms
JNDI Initial Context Factory Class  : org.apache.qpid.jndi.PropertiesFileInitialContextFactory (file-based JNDI properties)
URL of the JNDI provider            : repository/conf/jndi.properties
Connection Factory JNDI Name        : TopicConnectionFactory
Destination Type                    : topic
Enable Durable Subscription         : false
Info
This is the jndi.properties file in <PRODUCT_HOME>/reposiyory/conf directory. This example uses Topic Connection Factory. Therefore, the following entry points the default Qpid Host to localhost and port to 5672:
connectionfactory.TopicConnectionFactory = amqp:
//admin:admin@clientid/test?brokerlist='tcp://localhost:5672'

...

         Create the XML file with the following WSO2Event event adaptor configurations. Input event adaptor implementation must start with <inputEventAdaptor>root element.

Code Block
languagehtml/xml
<inputEventAdaptor name="QpidJmsInputAdaptor" statistics="disable"
  trace="disable" type="jms" xmlns="http://wso2.org/carbon/eventadaptormanager">
  <property name="java.naming.provider.url">repository/conf/jndi.properties</property>
  <property name="transport.jms.SubscriptionDurable">false</property>
  <property name="java.naming.factory.initial">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</property>
  <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
  <property name="transport.jms.DestinationType">topic</property>
</inputEventAdaptor>

You can configure JMS event adaptors with Map, XML, JSON and Text Input Mapping.

WSO2 MB as Input JMS Event Adaptor

Follow the instructions below to configure WSO2 Message Broker (MB) as a JMS-Qpid Input Event Adaptor.

...

Download and install Message Broker as described in the Message Broker documentation .

...

  • <W SO2MB_HOME>/ client-lib/ andes-client-xx.jar    
  • <WSO2MB_HOME>/ client-lib/ geronimo-j2ee-management_1.1_spec-1.0.1xx.jar    

You can configure this adaptor through the management console as explained below or by manually adding an XML file as explained in step 7.

...

No Format
Event Adaptor Name                  : MBJmsInputAdaptor
Event Adaptor Type                  : jms
JNDI Initial Context Factory Class  : org.wso2.andes.jndi.PropertiesFileInitialContextFactory (file-based JNDI properties)
URL of the JNDI provider            : repository/conf/jndi.properties
Connection Factory JNDI Name        : TopicConnectionFactory
Destination Type                    : topic
Enable Durable Subscription         : false
Info

This is the jndi.properties file in <PRODUCT_HOME>/reposiyory/conf directory. This example uses Topic Connection Factory. Therefore, the following entry points the default Qpid Host to localhost and port to 5672:
connectionfactory.TopicConnectionFactory = amqp:
//admin:admin@clientid/carbon?brokerlist='tcp://localhost:5673' (MB starts with offset 1)

...

Create the XML file with the following WSO2Event event adaptor configurations. Input event adaptor implementation must start with <inputEventAdaptor> root element.

Code Block
languagehtml/xml
<inputEventAdaptor name="MBJmsInputAdaptor" statistics="disable"
  trace="disable" type="jms" xmlns="http://wso2.org/carbon/eventadaptormanager">
  <property name="java.naming.provider.url">repository/conf/jndi.properties</property>
  <property name="transport.jms.SubscriptionDurable">false</property>
  <property name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</property>
  <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
  <property name="transport.jms.DestinationType">topic</property>
</inputEventAdaptor>

You can configure JMS event adaptors with Map, XML, JSON & Text Input  Mapping.

Note

Note: When using WSO2 MB as the Input Event Adaptor, at the time you define the Topic, which is a message-related property, follow the syntax Burl :{topic}. That is, add "Burl :" as the prefix of the actual topic. (When using with MB 2.0.1)

Configuring Input JMS Event Adaptor Message Properties

The configured Input Event Adaptors will be used in Event Builders, with Input Event Adaptor message properties, Event Builders will be able to extract data from the incoming events to build the event streams. Following are the Input JMS Event Adaptor specific message properties

Image Removed

...

 This section discusses how to configure a few common types as follows.

Excerpt
hiddentrue

NOTE TO WRITERS:

  • Replace the word "product" in the above paragraph with the product name and the version.
  • Add the "children display" macro here.

Child pages (Children Display)