Versions Compared

Key

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

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.

...

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

  2. Add the following  broker-specific JAR files to  <PRODUCT_HOME>/repository/components/lib/ directory. 
     
    • < ACTIVEMQ_HOME>/lib/geronimo-jms_1.1_spec-1.0.jar   
    • <QPID-CLIENT_HOME>/lib/ qpid-client-xxx.jar
    • <QPID-CLIENT_HOME>/lib/ qpid-common-xxx.jar

  3. Start the Qpid JMS server. 

...

For instructions on creating a Qpid JMS event receiver, see Receiving EventsConfiguring 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 propertiesImage Removed Image Added

Info

After entering the above adapter properties, select the    the Event Stream    to 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 to define custom input mappings based on the    Message Format    you you selected. For more information on custom input mapping types, see 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.

Code Block
languagexml
<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.DurableSubscriberNameDurableSubscriberClientID">subscriber</property>
        <property name="jms.properties">SessionTransacted:false</property>
    </from>
    ...........................
</eventReceiver>

The above adapter properties are described below.

...

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

...

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

...

java.naming.factory.initial

...

java.naming.provider.url

...

transport.jms.Password

...

transport.jms.UserName

...

transport.jms.ConnectionFactoryJNDIName

...

transport.jms.DestinationType

...

transport.jms.SubscriptionDurable

...

A valid name of a durable subscriber (Durable subscription gets enabled if you add a value here.)

...

transport.jms.DurableSubscriberName

...

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

...

Related samples

For more information on Qpid event receiver type, see the following sample in WSO2 CEP Documentation.