Hi Imesh,

+1 for implementing an AMQP output adapter. I think it will be very useful
to add it as a supported adapter type for CEP.

Will there be any processing happening based on the AMQP properties within
the CEP? Or is it simply that an AMQP message needs to be sent with
properties to the AMQP based broker?

Thanks,
Lasantha


On 22 December 2013 10:34, Imesh Gunaratne <[email protected]> wrote:

> Hi All,
>
> In Apache Stratos (incubating) 4.0.0 we are using WSO2 CEP for aggregating
> statistics events sent by load balancers and cartridge agents (agents in VM
> instances). The aggregated values are used by the Autoscaler for taking
> autoscaling decisions.
>
> Here the events are sent to CEP using the default input adapter (via
> Thrift) and the aggregated events are sent to an AMQP based message broker
> using the JMS Output Adapter. Event formatters have been used for defining
> the formats of the output messages.
>
> *A Sample Event Formatter:*
> <?xml version="1.0" encoding="UTF-8"?>
> <eventFormatter name="AverageRequestsInflightEventFormatter"
>   statistics="disable" trace="enable" xmlns="
> http://wso2.org/carbon/eventformatter";>
>   <from streamName="average_in_flight_requests" version="1.0.0"/>
>   <mapping customMapping="enable" type="json">
>
> <inline>{"average_in_flight_requests":{"cluster_id":"{{cluster_id}}","network_partition_id":"{{network_partition_id}}","value":"{{count}}"}}</inline>
>   </mapping>
>   <to eventAdaptorName="JMSOutputAdaptor" eventAdaptorType="jms">
>     <property
> name="transport.jms.Destination">summarized-health-stats</property>
>   </to>
> </eventFormatter>
>
> The above is a sample event formatter which defines an aggregated event.
> Similarly there is a collection of events sent by CEP to the message
> broker. For each event there is an event formatter defined.
>
>
> *The Requirement:*
> Here there is a requirement to include a set of AMQP Properties [1] in the
> output message. These properties may include name value pairs specific for
> each event:
>
> *A Sample AMQP Message*
> Message Properties:
>
> event_class_name: 
> org.apache.stratos.messaging.event.health.stat.AverageInFlightRequests
>
> Message Body:
>
> {"average_in_flight_requests":{"cluster_id":"{{cluster_id}}","network_partition_id":"{{network_partition_id}}","value":"{{count}}"}}
>
>
> *The Proposal:*
> As I understood this functionality is not supported by the JMS Output
> Adapter at the moment and I think it's logical since AMQP features should
> not be included in JMS Output Adapter.
>
> As a solution to this requirement I would like to implement an AMQP Output
> Adapter on top of the JMS Output Adapter to support this functionality [2].
> I will send more implementation design details in another mail as I
> progress.
>
> Really appreciate your thoughts on this.
>
> [1]
> http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol#Message_format
> [2] http://docs.wso2.org/display/CEP300/Output+Event+Adaptors
>
>
> Many Thanks
> --
> *Imesh Gunaratne*
> Technical Lead
> WSO2 Inc: http://wso2.com
> T: +94 11 214 5345 M: +94 77 374 2057
> W: http://imesh.gunaratne.org
> Lean . Enterprise . Middleware
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Lasantha Fernando*
Software Engineer - Data Technologies Team
WSO2 Inc. http://wso2.com

email: [email protected]
mobile: (+94) 71 5247551
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to