content based routing based on header value

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.
>

 


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中的缺失

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值