+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
