WSO2 Complex Event Processor is succeeded by WSO2 Stream Processor. To view the latest documentation for WSO2 SP, see WSO2 Stream Processor Documentation.
Skip to end of metadata
Go to start of metadata


This sample demonstrates how to publish custom Map and JSON events via JMS transport. Custom events are events with custom mappings  that does not adhere to the default event formats. For more information on event formats, see  Event Formats You consume the published events in CEP using aJMS client which is subscribed to Qpid broker.


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

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

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

  3. Configure sample client by adding relevant jars. See setting up JMS for JMS sample clients.

  4. Open the  <CEP_HOME>/repository/conf/ file and register a connection factory named TopicConnectionFactory by entering the following in the register some connection factories section. And add the topics to be sent to the Qpid broker.


    connectionfactory.TopicConnectionFactory=amqp: //admin:[email protected]/default?brokerlist='tcp://localhost:5672'
    topic.topicMap = topicMap
    topic.topicJSON = topicJSON
  5. Start Qpid Broker with ./qpid-server start command by navigating to <QPID-BROKER_HOME>/bin. 

Building the sample 

Start the WSO2 CEP server with the sample configuration numbered 0060. For instructions, see Starting sample CEP configurations. This sample configuration does the following:

  • Changes the default Axis2 repo from  <CEP_HOME>/repository/deployment/server to <CEP_HOME>/sample/cep/artifacts/0060.
  • Creates a stream with id
  • Create event publishers named jmsPublisherMap and jmsPublisherText.
  • Hot deploys the event.csv file along with event configuration xml.

Executing the sample

  1. Start WSO2 CEP with sample 0060 configurations. For more information, see Starting sample CEP configurations.
  2. Open another terminal, go to <CEP_HOME>/samples/cep/consumers/jms

    and run one of the  the following commands according to the type of topic name of the messages suppose to consume

    ant -Dbroker=qpid -DtopicName=topicMap
    ant -Dbroker=qpid -DtopicName=topicJSON

    It subscribes to the Qpid broker under the mentioned topic name.

  3. Play the event.csv file deployed using the Event Simulator. This will send an event flow through the stream to the JMS publishers.

  4. You can see the events getting published by CEP by the logs in the jms consumer console.

    for Map formatted events: 

    for Text formatted events:

  • No labels