+1 it looks clean,
we might need to do some optimisation at the publisher when converting the
annotated class to the stream and Databridge Event.

Suho



On Tue, Jul 22, 2014 at 3:15 PM, Maninda Edirisooriya <[email protected]>
wrote:

> +1. This is very clean to write a publisher.
> We have to generalize this annotations to become compatible with other
> publishers. How do we get the BAM/CEP server connection details?
>  Where are we setting the loadbalancing URLs and other Async Publisher
> related settings? May be we can set them globally per product. (In this
> case specific for each AS cluster) WDYT?
>
>
> *Maninda Edirisooriya*
> Senior Software Engineer
>
> *WSO2, Inc. *lean.enterprise.middleware.
>
> *Blog* : http://maninda.blogspot.com/
> *E-mail* : [email protected]
> *Skype* : @manindae
> *Twitter* : @maninda
>
>
> On Tue, Jul 22, 2014 at 2:43 PM, Chamil Jeewantha <[email protected]> wrote:
>
>> This is a proposal to develop an easy to use, readable Anootation based
>> Data publisher for BAM.
>>
>> When using the AsyncDataPublisher / LoadBalancingDataPublisher, the
>> programmer must do a significant amount of boilerplate work before he
>> publish data to the stream. See [1].
>>
>> This will be really easy if we can have annotation based data publisher
>> which can be used in the following way.
>>
>> We write a POJO, annotated with Some Stream Meta Data.
>>
>> *Example:*
>>
>> @DataStream(name="stat.data.stream", version="1.0.0", nickName="nick
>> name", description="the description")
>> public class StatDataStreamEvent{
>>
>>     @Column(name="serverName", order=2)
>>     private String serverName;
>>
>>     @Column(order = 1)       // no column name defined. so the name will
>> be timestamp
>>     private long timestamp;
>>
>>     @Column(name="id", type=DataType.STRING, order = 3)  // the column
>> data type is String though the field is int. (example only)
>>     private int statId;
>>
>>    // getters and setters
>>    ....
>>    ....
>> }
>>
>> *Publishing:*
>>
>> StatDataStreamEvent event = new StatDataStreamEvent();
>>
>> event.setServerName("The server Name");
>> event.setTimestamp(System.currentTimeMillis());
>> event.setStatId(5000);
>>
>> DataPublisher.publish(event);
>>
>> Please improve this with your valuable ideas.
>>
>> [1] 
>> http://wso2.com/library/articles/2012/07/creating-custom-agents-publish-events-bamcep/
>>
>>  --
>> K.D. Chamil Jeewantha
>> Associate Technical Lead
>> WSO2, Inc.;  http://wso2.com
>> Mobile: +94716813892
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

*S. Suhothayan*
Technical Lead & Team Lead of WSO2 Complex Event Processor
 *WSO2 Inc. *http://wso2.com
* <http://wso2.com/>*
lean . enterprise . middleware


*cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
<http://suhothayan.blogspot.com/>twitter: http://twitter.com/suhothayan
<http://twitter.com/suhothayan> | linked-in:
http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to