So like serviceCall("myServiceCall").configurationRef("myConf") ? --- Luca Burgazzoli
On Mon, May 30, 2016 at 10:26 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > 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