Hi Thanks.
As we introduced a new package in camel-core, do you mind adding a package.html for javadoc, and I think you may need to add it to the pom.xml as well for the javadoc plugin On Fri, Jun 16, 2017 at 5:39 PM, Luca Burgazzoli <lburgazz...@gmail.com> wrote: > First bits merged > > --- > Luca Burgazzoli > > > On Thu, Jun 15, 2017 at 11:05 AM, Nicola Ferraro <ni.ferr...@gmail.com> wrote: >> +1 >> >> Really a great work Luca. It's completely separated from the route policy >> so that we can also implement the generic master component on top of it. >> But it can also be used for other purposes by just implementing a listener >> interface. The cluster view is also a clean way to monitor the cluster >> status. >> >> You have also shown how to clusterize the whole context (all routes) using >> the route policy factory, and route policies can also be set at route level. >> >> So, merge it and I'll implement the Kubernetes cluster service with this >> new spec! >> >> >> >> On Wed, Jun 14, 2017 at 3:49 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: >> >>> +1 >>> >>> Great work Luca. Its good to see this coming in camel-core, as we now >>> have many more Camel components that does clustering and leader >>> elections. It makes good benefit to have some common reusable code >>> from camel-core. >>> >>> >>> >>> On Wed, Jun 14, 2017 at 11:36 AM, Luca Burgazzoli <lburgazz...@gmail.com> >>> wrote: >>> > Hello, >>> > >>> > I've been working on CAMEL-11362 to create a leader election service >>> > in recent times and I've ended up with some initial bits of a >>> > potential clustering service for Camel [1]. >>> > >>> > So fare there are a few simple interfaces: >>> > - CamelClusterService >>> > - CamelClusterView >>> > - CamelClusterMember >>> > >>> > The CamelClusterService is just a regular camel service and is >>> > responsible to create views of the cluster; a view is like a "group" >>> > with its own set of resources like a leader/services/etc and i.e. >>> > broadcast of messages should not go beyond its borders, etc; how the >>> > view is mapped then depends on the underlying technology used so it >>> > can be a group in atomix/jgroups, a path in zk/etcd, a map in >>> > hazelcast/infinispan, etc. >>> > >>> > As today the View API is limited to leader election and topology >>> > events (member joining/leaving the view) and I've build a generic >>> > RoutePolicy and RoutePolicyFactory on top of them [2][3]. A future >>> > work may be to add support for service discovery, load balancing ad >>> > more. >>> > >>> > I also started the implementation of camel-atomix based on the >>> > atomix.io project which offers some easy to use APIs for distributed >>> > systems so an implementation of the API can be found here [4] and a >>> > test here [5]. >>> > >>> > >>> > Feedback is very welcome. >>> > >>> > >>> > [1] https://github.com/lburgazzoli/apache-camel/tree/ >>> CAMEL-11362/camel-core/src/main/java/org/apache/camel/ha >>> > [2] https://github.com/lburgazzoli/apache-camel/blob/ >>> CAMEL-11362/camel-core/src/main/java/org/apache/camel/ >>> impl/ha/ClusteredRoutePolicy.java >>> > [3] https://github.com/lburgazzoli/apache-camel/blob/ >>> CAMEL-11362/camel-core/src/main/java/org/apache/camel/impl/ha/ >>> ClusteredRoutePolicyFactory.java >>> > [4] https://github.com/lburgazzoli/apache-camel/tree/ >>> CAMEL-11362/components/camel-atomix/src/main/java/org/ >>> apache/camel/component/atomix/ha >>> > [5] https://github.com/lburgazzoli/apache-camel/blob/ >>> CAMEL-11362/components/camel-atomix/src/test/java/org/ >>> apache/camel/component/atomix/ha/AtomixRoutePolicyTest.java >>> > >>> > >>> > --- >>> > Luca Burgazzoli >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> http://davsclaus.com @davsclaus >>> Camel in Action 2: https://www.manning.com/ibsen2 >>> -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2