com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Qpid JMS Event Receiver

Qpid JMS event receiver is an internal event receiver that comes with WSO2 products by default. You can configure it with map, XML, JSON, and text input mapping types.

Prerequisites

Follow the steps below to set up the prerequisites before starting the event receiver configurations.

  1. Install JMS-Qpid Broker and JMS-Qpid Client.

  2. Configure WSO2 CEP by adding relevant libraries to support JMS transport.

  3. Open the  <CEP_HOME>/repository/conf/jndi.properties file and register a connection factory  by entering relevant details in the register some connection factories section. Below is a sample for a connection factory named TopicConnectionFactory( the "default" is the name of the virtually hosted node in Qpid).

    connectionfactory.TopicConnectionFactory=amqp://admin:admin@clientid/default?brokerlist='tcp://localhost:5672'
  4. Start the Qpid JMS server. 

Creating a Qpid JMS event receiver

For instructions on creating a Qpid JMS event receiver, see Configuring Event Receivers.

Configuring adapter properties

Specify the Adapter Properties, when creating a Qpid JMS event receiver using the management console as shown below.

Qpid JMS input event adapter properties

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    Input Mapping Types .    

You can also d efine 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.

<eventReceiver name="QpidJMSInputEventAdapter" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventreceiver">
    <from eventAdapterType="jms">
        <property name="java.naming.factory.initial">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</property>
        <property name="java.naming.provider.url">repository/conf/jndi.properties</property>
        <property name="transport.jms.DestinationType">topic</property>
        <property name="transport.jms.SubscriptionDurable">false</property>
        <property name="transport.jms.Destination">test-topic</property>
        <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
        <property encrypted="true" name="transport.jms.Password">P2ve4G8+qF7JXkiGnP9/Ew5GXALEWTu7znEwxZGYa/MQMaQBRfsXiP094fn9U+0rntdBMitXU9o7h5uV3m5h97Po8WTJRpnFBV5YCGZEO+ELSg6twY3386MipwFhFMrbUMKamI2sXksDRcogojWKtoHNmODnt8Ud1dh0LK5zqec=        </property>
        <property name="transport.jms.UserName">jms-user</property>
        <property name="transport.jms.DurableSubscriberName">subscriber</property>
        <property name="jms.properties">SessionTransacted:false</property>
    </from>
    ...........................
</eventReceiver>

The above adapter properties are described below.

Adapter PropertyDescriptionConfiguration file propertyExample
Topic/Queue Name

Valid name for the JMS topic. WSO2 CEP/DAS sends and receives messages by subscribing to a topic or using named queues.

transport.jms.Destination
test-topic
JNDI Initial Context Factory Class

JNDI initial context factory class. The class must implement the java.naming.spi.InitialContextFactory interface.

java.naming.factory.initial
org.apache.qpid.jndi.PropertiesFileInitialContextFactory
JNDI Provider URLURL of the JNDI provider.
java.naming.provider.url
repository/conf/jndi.properties
The JMS connection passwordA valid password for the JMS connection
transport.jms.Password
jms-password
The JMS connection usernameA valid username for the JMS connection
transport.jms.UserName
jms-user
Connection Factory JNDI NameThe JNDI name of the connection factory.
transport.jms.ConnectionFactoryJNDIName
TopicConnectionFactory
Destination TypeDefine the sort order for messages that arrive on a specific destination.
transport.jms.DestinationType
topic/queue
Enable Durable SubscriptionWhether the subscription is durable or not.
transport.jms.SubscriptionDurable
true/false
Durable Subscriber Name
A valid name of a durable subscriber (Durable subscription gets enabled if you add a value here.)
transport.jms.DurableSubscriberName
subscriber
JMS Properties

A valid "property:value" pair of 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 Qpid event receiver type, see the following sample.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.