您的位置:首页 > 产品设计 > UI/UE

content based routing based on header value

2013-06-08 16:26 363 查看
http://camel.465427.n5.nabble.com/content-based-routing-based-on-header-value-td2449988.html

On Tue, Aug 10, 2010 at 5:42 PM, Mark Webb <[hidden email]> wrote:

> I am setting up a route in XML and want to send messages to a

> destination based on a field in the header. I have the following:

>

> <log message="Analyzed [${body}] with destination --> ${header.dest}"/>

> <choice>

> <when>

> <header>'${header.dest}' = 'stuff'</header>

> <to uri="jms:somewhere" />

> </when>

> </choice>

>

> As I test this the log gives me the correct information for

> ${header.dest} and that being "stuff", but I do not know how to test

> the value in order to send the message to the proper location. What

> is the proper syntax here? I looked through the Camel in Action book

> and the camel website and cannot find anything.

>

...[show rest of quote]

The <header> will only grab a header. It's not a scripting language to

evaluate expressions/predicates etc.

For that you can use any of the more powerful languages

http://camel.apache.org/languages.html

For example you can use the built in simple language

http://camel.apache.org/simple.html

Which is being explained in the appendix A of the Camel book (avail in

next MEAP update).

<simple>${header.dest} == 'stuff'</simple>

> Thanks,

> Mark

>

==================

在使用simple前不要调用 exchange.getOut(), 否则会导致in.header中的缺失
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: