my use case is:

from().bean().end()

Based on user input, i want to make bean call. So, basically method
parameters for bean call will come from exchange as well as user input. I
was wondering if there is any way to make bean call with method parameters
as exchange as well some user input parameters.


On Sun, Jun 2, 2013 at 1:46 PM, Claus Ibsen <[email protected]> wrote:

> Hi
>
> You can call a method without parameters that call the method you want
> (as its just java code and you can call it yourself), or use a inlined
> Camel processor to call the method from java code etc.
>
> The bean component is intended for calling methods with parameter
> values with data from the Camel Exchange / Message - and not hardcoded
> values.
>
> So what is your use case for calling this method with hard-coded values ?
>
>
> On Sat, Jun 1, 2013 at 9:31 AM, Jan Matèrne (jhm) <[email protected]>
> wrote:
> > The exchange could be passed to the bean method, therefore you could
> store
> > these values in the header or as exchange-properties.
> >
> > Something like
> > class abc extends RouteBuilder {
> >     private string str1 = 'a';
> >     private string str2 = 'b';
> >     .....
> >     .....
> >     .setHeader("str1", str1)
> >     .setHeader("str2", str2)
> >     .to().bean(myBean, methodName).end();
> > }
> >
> > // @see http://camel.apache.org/bean.html
> > // @see http://camel.apache.org/bean-binding.html
> > class MyBean {
> >     public String method(@Header("str1") str1, @Header("str2) str2) {
> >         ....
> >     }
> > }
> >
> >
> > Jan
> >
> >> -----Ursprüngliche Nachricht-----
> >> Von: Claus Ibsen [mailto:[email protected]]
> >> Gesendet: Samstag, 1. Juni 2013 08:09
> >> An: [email protected]
> >> Betreff: Re: bean with method parameters in camel
> >>
> >> You cannot do this.
> >>
> >> On Thu, May 30, 2013 at 11:48 AM, Tarun Kumar
> >> <[email protected]> wrote:
> >> > If i try .bean(className, methodName('a', 'b')) : it calls method
> >> > methodName of class className with method parameters 'a' and 'b'.
> >> > However, if i want value of method variables to come from class
> >> > variables, how can i do that?
> >> >
> >> > what i mean is :
> >> > class abc extends RouteBuilder {
> >> >   private string str1 = 'a';
> >> >   private string str2 = 'b';
> >> > .....
> >> > .....
> >> > to().bean(className, methodName(str1, str2)).end();
> >> >
> >> > i get str1 and str2 classes not found exception. How can i pass str1
> >> > and
> >> > str2 values as method parameters without actually hardcoding them?
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> www.camelone.org: The open source integration conference.
> >>
> >> Red Hat, Inc.
> >> FuseSource is now part of Red Hat
> >> Email: [email protected]
> >> Web: http://fusesource.com
> >> Twitter: davsclaus
> >> Blog: http://davsclaus.com
> >> Author of Camel in Action: http://www.manning.com/ibsen
> >
>
>
>
> --
> Claus Ibsen
> -----------------
> www.camelone.org: The open source integration conference.
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Email: [email protected]
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
>

Reply via email to