Unknown macro: {next_previous_links}
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

ActiveMQ JMS output event adapter is used to publish events in map, XML, JSON, and text formats via JMS transport.

Prerequisites

Follow the steps below to set up the prerequisites before starting the configuration.

  1. Install Apache ActiveMQ JMS

    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.

  2. Add the following ActiveMQ JMS-specific JAR files to  the <CEP_HOME>/repository/components/lib/ directory. 
    • <ACTIVEMQ_HOME>/lib/activemq-core-xxx.jar  
    • <ACTIVEMQ_HOME>/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar
  3. Refer the <CEP_HOME>/repository/conf/jndi.properties file to register a connection factory. For example, if the connection factory JNDI name is TopicConnectionFactory, it will point the default ActiveMQ host to localhost and port to 5672 as shown below. Furthermore, add the topics to be sent to the ActiveMQ broker in the format: topic.{topicName} = {topicName}

    connectionfactory.TopicConnectionFactory=amqp://admin:admin@clientid/test?brokerlist='tcp://localhost:5672'
    topic.topicMap = topicMap
    topic.topicText = topicText
  4. Start ActiveMQ, and then start the product.

Creating an ActiveMQ JMS output event adapter

For instructions on creating an ActiveMQ JMS output event adapter, see Publishing Events.  

Configuring adapter properties

Specify the Static and Dynamic Adapter Properties, when creating an ActiveMQ JMS output event adapter using the management console as shown below.

ActiveMQ JMS Publisher

After entering the above adapter properties, select the Message Format which you want to apply on the published events. Also, click Advanced to define custom output mappings based on the Message Format you selected. For more information on custom output mapping types, see Publishing Events in Various Event Formats.

You can also define the respective adapter properties of the event publisher based on the transport type within the <to> element of the event publisher configuration in the <CEP_HOME>/repository/deployment/server/eventpublishers/ directory as follows.

<eventPublisher name="ActiveMQJMSOutputEventAdapter" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
  .................
  <to 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.UserName">jms-user</property>
    <property encrypted="true" name="transport.jms.Password">ImE/+i4TR0c7p97CWbd8bUgfXfC8XcKWVwIwXxw+ROUFvxOR3+61S6YXqZK7dkKTLgBBFNmB2czfSiJrUz9jCYxFXSUquCfqFs8UKXx3976sjmM+giTTyPJnyCNilceF2fMPZ0abOJdq7gD+zi9IeoX14EPnZUuY9sOUOGFg7B8=</property>
    <property name="transport.jms.DestinationType">topic</property>
    <property name="transport.jms.Header">header_name1:header_value1,header_name2:header_value2</property>
    <property name="transport.jms.Destination">topicMap</property>
    <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
  </to>
</eventPublisher>

The above adapter properties are described below.

Static adapter properties 

Adapter Property
Description
Configuration file propertyExample
JNDI Initial Context Factory ClassThe JNDI initial context factory class. The class must implement the java.naming.spi.InitialContextFactory interface
java.naming.factory.initial
org.apache.activemq.jndi.ActiveMQInitialContextFactory
JNDI Provider URLURL of the JNDI provider
java.naming.provider.url
tcp://localhost:61616
UsernameValid username for the JMS connection
transport.jms.UserName
jms-user
PasswordValid password for the JMS connection
transport.jms.Password
jms-password
Connection Factory JNDI NameThe JNDI name of the connection factory
transport.jms.ConnectionFactoryJNDIName
TopicConnectionFactory
Destination TypeThe sort order for messages that arrive on a specific destination
transport.jms.DestinationType
topic/queue
DestinationThe topic or queue to which WSO2 CEP sends messages by publishing.
transport.jms.Destination
topicMap

Dynamic adapter properties 

Adapter PropertyDescriptionConfiguration file propertyExample
HeaderDefine Transport Headers as a valid header name in a header value pair format   transport.jms.Headerheader_name1:header_value1,header_name2:header_value2 
  • No labels