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 >
