Hi,

Please find the below sample for publishing and receiving an event message
using the new messaging system.
*
*
*Publishing an Event Message*

...
ServiceCreatedEvent event = new ServiceCreatedEvent();
event.setServiceName("AppServer");
TopologyEventMessage message = new TopologyEventMessage(event);
publisher.sendMessage(message.getJson());

*
*
*Receiving an Event Message*

package org.apache.stratos.messaging.message;

class MessageProcessor {
    private Object jsonToObject(String json, Class type) {
        ...
    }

    public EventMessageHeader readHeader(String json) {
        ...
    }
}


class TopologyEventMessageProcessor extends MessageProcessor {
    public void run() {
        ...
        String json = subscriber.receive();
        // Read message header to identify the event, this will only parse
the header
        EventMessageHeader header = readHeader(json);

        if
(header.getEventClassName().equals(ServiceCreatedEvent.class.getName())) {
            // Read the complete message and build the event
            TopologyEventMessage message = jsonToObject(json,
TopologyEventMessage.class);
            ServiceCreatedEvent event = jsonToObject(message.getBody(),
ServiceCreatedEvent.class);
            ...
        }
    }
}

*jndi.properties File Content*
connectionfactoryName=topicConnectionfactory
connectionfactory.topicConnectionfactory=amqp://admin:admin@carbon
/carbon?brokerlist='tcp://localhost:5677'
java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory


Thanks
Imesh

Reply via email to