Hi Vadim

Do you still have an issue with the el filter?
I would suggest to try using a simpler expression to test that the == operator 
works as expected

<el>'kickoff' == 'kickoff'</el>



Med venlig hilsen
 
Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk

-----Original Message-----
From: Vadim Chekan [mailto:[EMAIL PROTECTED] 
Sent: 23. august 2008 10:10
To: camel-user@activemq.apache.org
Subject: Filter

Hi all,
Another question.
In camel-1.4 I have configuration:

<route>
        <from uri="timer://kickoff?period=10000&amp;delay=1"/>
        <setBody><constant>bla-bla</constant></setBody>
        <filter>
                <el>${in.headers['org.apache.camel.timer.name'] == 
'kickoff'}</el>
                <to uri='mock:filtered'/>
        </filter>
        </route>

And here is the trace:
2008-08-23 07:51:01,768 [d=10000&delay=1] INFO  TraceInterceptor 
        - ID-ubuntu/45497-1219477861659/1-0 -> interceptor1 
Interceptor[Delegate(Pipeline[DeadLetterChannel[Delegate(TraceInterceptor[SetBody[
 
constantExpression[bla-bla]]]), 
RecipientList[log:org.apache.camel.DeadLetterChannel?level=error], 
RedeliveryPolicy[maximumRedeliveries=6]], 
DeadLetterChannel[Delegate(TraceInterceptor[Filter[ 
elExpression[${in.headers['org.apache.camel.timer.name'] == 'kickoff'}] 
-> [To[mock:filtered]]]]), 
RecipientList[log:org.apache.camel.DeadLetterChannel?level=error], 
RedeliveryPolicy[maximumRedeliveries=6]]])] InOnly 
Properties:{org.apache.camel.timer.name=kickoff, 
org.apache.camel.timer.period=10000} Headers:{} BodyType:null 
Body:Message: null

2008-08-23 07:51:01,776 [d=10000&delay=1] INFO  TraceInterceptor 
        - ID-ubuntu/45497-1219477861659/1-0 -> setBody1 SetBody[ 
constantExpression[bla-bla]] InOnly 
Properties:{org.apache.camel.timer.name=kickoff, 
org.apache.camel.timer.period=10000} Headers:{} BodyType:null 
Body:Message: null

2008-08-23 07:51:01,777 [d=10000&delay=1] INFO  TraceInterceptor 
        - ID-ubuntu/45497-1219477861659/1-0 -> filter1 Filter[ 
elExpression[${in.headers['org.apache.camel.timer.name'] == 'kickoff'}] 
-> [To[mock:filtered]]] InOnly 
Properties:{org.apache.camel.timer.name=kickoff, 
org.apache.camel.timer.period=10000} Headers:{} BodyType:String Body:bla-bla

So message does not make it through the filter. If I replace "==" to 
"!=" then it works. But trace shows that this header is present in the 
message. Any ideas?


Vadim.

Reply via email to