On Mon, May 30, 2016 at 10:16 AM, Luca Burgazzoli <lburgazz...@gmail.com> wrote: > do you mean something like serviceCallRef("myServiceCall") ? > ---
No you need to provide - a) name of service to call - b) reference to configuration of service a = mandatory b = optional. As if there is only 1 configuration then use that. > Luca Burgazzoli > > > On Sun, May 29, 2016 at 9:42 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: >> On Thu, May 26, 2016 at 7:30 PM, Luca Burgazzoli <lburgazz...@gmail.com> >> wrote: >>> --- >>> Luca Burgazzoli >>> >>> >>> On Thu, May 26, 2016 at 7:06 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>>> Hi Luca >>>> >>>> Yeah its good to get more eyes on this new set of code. When I created >>>> kubernetes and ribbon there was sure some overlap of code that could >>>> be shared, but I didn't push for much default/abstract code in >>>> camel-core because there its new code and I also wanted to see what >>>> consul, etcd, zookeeper and other distributed systems may >>>> need/require. >>>> >>>> I like the idea of the impl.remote package to have some base >>>> implementation there. >>>> >>>> Your current branch [2] has a good set of reusable code although its >>>> tied to consul currently, so that would need to be made abstract so it >>>> can be reuse by kuernetes and maybe also ribbon as well (where it >>>> makes sense). >>> >>> I've removed some consul specific stuffs that I left by mistake, should be >>> a little tidy now. >>> >>> An aspect to take into account is how to make it easy to configure >>> ServiceCallServerListStrategy in case we use DefaultServiceCallProcessor >>> maybe something like: >>> >>> serviceCall() >>> .name("my-service") >>> .roundRobinLoadBalancer() >>> .consulServerListStrategy() >>> .type(Strategy.ON_DEMAND) >>> .url("http://consul-host:8500") >>> .dc("west") >>> .end() >>> >>> Too ugly ? >>> >> >> Yeah possible - its always tricky to find the right balance. >> >> I wonder if you may want to do this in the configuration, and then in >> the routes with serviceCall you then just need to refer to the service >> name / url to be used - then all the round robin, service list, and so >> on are configured outside the route in the configuration. >> >> We could also leave those in the route DSLs as well so you can >> override the configuration, so you can use >> >> serviceCall().name("foo").consulConfiguraiton().dc("west").end() >> >> >> >> But then on the other hand if you just want to call a single service >> you may want to do it all in the route without the configuration. But >> if we look at rest-dsl then it separates the configuration from the >> REST endpoint. >> >> >> >> >> >>>> >>>> An aspect we haven't added yet could be to find out if we can expose >>>> some JMX attributes and operations for thise service call EIP as well? >>>> And then maybe some Camel commands so you can manage/list it from >>>> karaf and other CLIs. But this part is more "nice to have" and a bit >>>> "eye candy" but still somewhat cool. >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Thu, May 26, 2016 at 4:13 PM, Luca Burgazzoli <lburgazz...@gmail.com> >>>> wrote: >>>>> Hello, >>>>> >>>>> I'm playing a little bit with the new ServiceCall EIP by adding support >>>>> for >>>>> consul service discovery and I've committed some code in my own branch >>>>> [1]. >>>>> >>>>> I borrowed most of the code from camel-kubernetes and as it ended up being >>>>> almost a clone, I've tried to make some base/default classes as what >>>>> really >>>>> make the difference is the implementation of ServiceCallServerListStrategy >>>>> and ServiceCallLoadBalancer so to add a simple discovery engine you only >>>>> need to implement your own ServiceCallServerListStrategy and eventually >>>>> your >>>>> own ServiceCallLoadBalancer (i.e. for ribbon). >>>>> >>>>> Does it make sense ? >>>>> >>>>> [1] https://github.com/lburgazzoli/apache-camel/tree/CAMEL-9989 >>>>> [2] >>>>> https://github.com/apache/camel/compare/master...lburgazzoli:CAMEL-9989?expand=1 >>>>> >>>>> --- >>>>> 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 -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2