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