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