Hi Thanks for the explanation. But What I am raising a voice for is the Camel entry level users. When they start to use ProducerTemplate they get a long list of methods. So it can be confusing which method to use. Just to eplain the difference between sendXXX and requestXXX is quite "hard enought". So having this 3rd option that is very rarely used is on option I would like to eliminate.
I have yet to see any documentation, end users requesting about it, unit test etc that uses this feature. There are 5 methods with the default thingy There are 8 methods with send There are 12 methods with sendBody There are 2 methods with request There are 6 methods with requestBody A total of: 33 methods. But I will turn my attention to other issues to tackle ;( /Claus Ibsen Apache Camel Committer Blog: http://davsclaus.blogspot.com/ On Fri, Nov 14, 2008 at 5:26 PM, Hiram Chirino <[EMAIL PROTECTED]> wrote: > The idea is that in Dependency Injection scenario is it's simpler to 1 > inject one thing (the template) into another object rather than 2 > things (the object and the endpoint). > > It's an ease of use issue. And camel is all about ease of use. > > Is this really complicating things that much? I would think there are > tougher issues to tackle. > > On Thu, Nov 13, 2008 at 1:04 PM, Claus Ibsen <[EMAIL PROTECTED]> wrote: >> Hi >> >> I guess the endpoint resolution can be done once. So I still don't see >> the valid point of this default >> >> final Endpoint ep = context.getEndpoint("uri"); >> ProducerTemplate template = new DefaultTemplate(context); >> while (condition) { >> template.send(ep, body); >> } >> >> >> /Claus Ibsen >> Apache Camel Committer >> Blog: http://davsclaus.blogspot.com/ >> >> >> >> On Thu, Nov 13, 2008 at 3:57 PM, Hadrian Zbarcea <[EMAIL PROTECTED]> wrote: >>> I think the point is that you can have something like: >>> >>> ProducerTemplate template = new DefaultTemplate(context, uri); >>> while (condition) { >>> template.send(body); >>> } >>> >>> This would work too, of course: >>> >>> ProducerTemplate template = new DefaultTemplate(context); >>> while (condition) { >>> template.send(uri, body); >>> } >>> >>> ... but it would force an endpoint resolution at every iteration. >>> >>> Hadrian >>> >>> >>> On Nov 13, 2008, at 5:17 AM, Claus Ibsen wrote: >>> >>>> Hi >>>> >>>> Hmm is there any documentation with such a sample how to reuse it? >>>> >>>> I would still like to keep Camel simpler and not support "corner case >>>> use-cases", that is not documented or anyhow possible for end-users to >>>> figure out how to use. >>>> >>>> We could maybe reduce some of the default endpoint send/request >>>> methods on ProducerTemplate to reduce the number of methods end-users >>>> get when they press control + space. If we could keep one for these >>>> few uses-cases with reuse? >>>> >>>> >>>> >>>> On Wed, Nov 12, 2008 at 5:17 PM, Hadrian Zbarcea <[EMAIL PROTECTED]> >>>> wrote: >>>>> >>>>> I just talked to Hiram to figure out why it got there in the first place. >>>>> He gives a >>>>> >>>>> -1 for removing, >>>>> >>>>> and I change my vote to 0 :). The idea comes from the spring jms >>>>> template >>>>> and it's quite handy when you want to reuse the template and keep sending >>>>> to >>>>> the same uri. The endpoint uri resolves once. Well, I can see it's >>>>> usefulness. I'd say let's keep it. >>>>> >>>>> More opinions welcome, >>>>> Hadrian >>>>> >>>>> >>>>> >>>>> On Nov 12, 2008, at 8:22 AM, Jon Anstey wrote: >>>>> >>>>>> I've never used this, nor could I imagine when I'd ever want to use it. >>>>>> >>>>>> +1 for removing >>>>>> >>>>>> On Wed, Nov 12, 2008 at 9:34 AM, Hadrian Zbarcea <[EMAIL PROTECTED]> >>>>>> wrote: >>>>>> >>>>>>> Hi Claus, >>>>>>> >>>>>>> Now I get it :). In any non trivial case it's useless and could be >>>>>>> confusing/error prone I agree. >>>>>>> >>>>>>> I think it is there mostly for convenience for developers, so if we >>>>>>> take >>>>>>> it >>>>>>> out the inconvenience would be that they'd have to specify the endpoint >>>>>>> (uri) explicitly, which from my point of view is good. >>>>>>> >>>>>>> A strong +1 from me on this, but I'd like another opinion too. >>>>>>> >>>>>>> Cheers >>>>>>> Hadrian >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Nov 12, 2008, at 1:56 AM, Claus Ibsen wrote: >>>>>>> >>>>>>> Hi >>>>>>>> >>>>>>>> Yes I did not make my point clear. >>>>>>>> >>>>>>>> It's the fact that CamelContext requires a default endpoint URI to be >>>>>>>> configured. Then you can use ProducerTemplate.sendBody("Hello World") >>>>>>>> and then it will send this body the default endpoint URI. Normally you >>>>>>>> have to provide the URI as well such as: >>>>>>>> ProducerTemplate.sendBody("direct:in", Hello World"); >>>>>>>> >>>>>>>> The class DefaultEndpoint should of course be there as the base class >>>>>>>> ;) >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> /Claus >>>>>>>> >>>>>>>> On Tue, Nov 11, 2008 at 10:40 PM, Hadrian Zbarcea <[EMAIL PROTECTED]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Claus, >>>>>>>>> >>>>>>>>> DefaultEndpoint is the base class for all Endpoints and provides a >>>>>>>>> default >>>>>>>>> implementation of the Endpoint methods. >>>>>>>>> >>>>>>>>> Am I misunderstanding your question? >>>>>>>>> >>>>>>>>> Hadrian >>>>>>>>> >>>>>>>>> On Nov 11, 2008, at 2:22 PM, Claus Ibsen wrote: >>>>>>>>> >>>>>>>>> Hi >>>>>>>>>> >>>>>>>>>> I am wondering if this "default" endpoint is used by anyone? I am >>>>>>>>>> wondering what the purpose really is and what it solves. Is it >>>>>>>>>> possible to consider to remove this? >>>>>>>>>> Would remove many methods for ProducerTemplate so less for end users >>>>>>>>>> to get confused by. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> /Claus Ibsen >>>>>>>>>> Apache Camel Committer >>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> /Claus Ibsen >>>>>>>> Apache Camel Committer >>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Cheers, >>>>>> Jon >>>>>> >>>>>> http://janstey.blogspot.com/ >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> /Claus Ibsen >>>> Apache Camel Committer >>>> Blog: http://davsclaus.blogspot.com/ >>> >>> >> > > > > -- > Regards, > Hiram > > Blog: http://hiramchirino.com > > Open Source SOA > http://open.iona.com >
