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

Reply via email to