camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: bean with method parameters in camel
Date Sun, 02 Jun 2013 08:16:43 GMT
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) <apache@materne.de> 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:claus.ibsen@gmail.com]
>> Gesendet: Samstag, 1. Juni 2013 08:09
>> An: users@camel.apache.org
>> Betreff: Re: bean with method parameters in camel
>>
>> You cannot do this.
>>
>> On Thu, May 30, 2013 at 11:48 AM, Tarun Kumar
>> <agrawal.tarun23@gmail.com> 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: cibsen@redhat.com
>> 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: cibsen@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message