FAQ
(Sorry for my poor english)

I'm working with file consumer.
I need to filter(bean style, #) files in file consumer.
And the filter has some variables.
How can i set variables in the filter?

I tested route like this
*
*
*from("file://somedir?move=done")*
*.process(new Processor()*
*{*
* @Override*
* public void process(Exchange exchange) throws Exception*
* {*
* exchange.setProperty("propKey", "propVal"); // used in
filter(myFilter)*
* }*
*})*
*.filter().method("**myFilter**", "isAccept")*
*.to("bean:somebean"); *
*
*
But this case result that all file moved done directory whether filter
return true or false.
This is not my intention.

I want to process some files that accept some conditions and the other
files doesn't touch.

Supplement)
Of course, i can set instance variables in the bean.
But my application run multiple route(same consumer) and different
environment(filters, directories and condition),
so instance variables is not accepted.

Please help.
Thank you.

Search Discussions

  • Christian Müller at Sep 27, 2012 at 6:00 pm
    MyFilterBean myFilterBean = new MyFilterBean();
    myFilterBean.setXXX("...");
    ...

    from("xxx")
    .filter().method(myFilterBean, "myFilterMethod")
    .to("yyy");

    You can do it similar if you use Spring (or another IOC container).

    Best,
    Christian
    On Thu, Sep 27, 2012 at 12:56 PM, Jason Shim wrote:

    (Sorry for my poor english)

    I'm working with file consumer.
    I need to filter(bean style, #) files in file consumer.
    And the filter has some variables.
    How can i set variables in the filter?

    I tested route like this
    *
    *
    *from("file://somedir?move=done")*
    *.process(new Processor()*
    *{*
    * @Override*
    * public void process(Exchange exchange) throws Exception*
    * {*
    * exchange.setProperty("propKey", "propVal"); // used in
    filter(myFilter)*
    * }*
    *})*
    *.filter().method("**myFilter**", "isAccept")*
    *.to("bean:somebean"); *
    *
    *
    But this case result that all file moved done directory whether filter
    return true or false.
    This is not my intention.

    I want to process some files that accept some conditions and the other
    files doesn't touch.

    Supplement)
    Of course, i can set instance variables in the bean.
    But my application run multiple route(same consumer) and different
    environment(filters, directories and condition),
    so instance variables is not accepted.

    Please help.
    Thank you.


    --
  • Christian Müller at Sep 27, 2012 at 6:06 pm
    These links could be helpful:
    http://camel.apache.org/predicate.html
    http://camel.apache.org/bean-language.html

    Best,
    Christian
    On Thu, Sep 27, 2012 at 8:00 PM, Christian Müller wrote:

    MyFilterBean myFilterBean = new MyFilterBean();
    myFilterBean.setXXX("...");
    ...

    from("xxx")
    .filter().method(myFilterBean, "myFilterMethod")
    .to("yyy");

    You can do it similar if you use Spring (or another IOC container).

    Best,
    Christian

    On Thu, Sep 27, 2012 at 12:56 PM, Jason Shim wrote:

    (Sorry for my poor english)

    I'm working with file consumer.
    I need to filter(bean style, #) files in file consumer.
    And the filter has some variables.
    How can i set variables in the filter?

    I tested route like this
    *
    *
    *from("file://somedir?move=done")*
    *.process(new Processor()*
    *{*
    * @Override*
    * public void process(Exchange exchange) throws Exception*
    * {*
    * exchange.setProperty("propKey", "propVal"); // used in
    filter(myFilter)*
    * }*
    *})*
    *.filter().method("**myFilter**", "isAccept")*
    *.to("bean:somebean"); *
    *
    *
    But this case result that all file moved done directory whether filter
    return true or false.
    This is not my intention.

    I want to process some files that accept some conditions and the other
    files doesn't touch.

    Supplement)
    Of course, i can set instance variables in the bean.
    But my application run multiple route(same consumer) and different
    environment(filters, directories and condition),
    so instance variables is not accepted.

    Please help.
    Thank you.


    --


    --

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupusers @
categoriescamel
postedSep 27, '12 at 10:56a
activeSep 27, '12 at 6:06p
posts3
users2
websitecamel.apache.org

2 users in discussion

Christian Müller: 2 posts Jason Shim: 1 post

People

Translate

site design / logo © 2021 Grokbase