Apache Camel Route节点的消息载体Exchange

Apache Camel Route节点的处理核心是Exchange,它充当消息载体。在route中,方法可以直接接收Exchange参数,若方法参数不是Exchange,Camel会自动将Exchange的Body转换为匹配的参数类型。通过特定规则,开发者可以访问并操作Exchange的Body、Header等信息。
摘要由CSDN通过智能技术生成

在Camel的route中,消息在Route的各个节点中是以Exchange的形式传递的,所以对Exchange结构的理解对使用Camel来说是很重要的.
Exchange ID 如果不指定,Camel会默认设置一个,可以用来标识一个route的一次执行.
MEP message exchange pattern,有InOnly和InOut方式.
Exception 但route出异常的时候,抛出的异常赋值给这个变量(但在示例中似乎不是这样?).
In message 上一个节点传入的内容,是mandatory.的.
Out message 当MEP 是InOut的时候才用,不是mandatory.的.
Headers 键值对<String Object>,在下一个节点可以再取出来.
Attachments 在调用web service或者发邮件的时候放附件.
Body 消息内容,java对象.
Exchange的结构如下图所示:


Exchange可以直接作为参数在route用到的方法中使用,如果route中的方法不是Exchange,Camel会根据一套规则将Exchange中的Body转换成该方法的参数类型.

这个结构里的各部分内容可以像下面的代码示例的方式进行访问:

	from("file:d:/temp/inbox?delay=3000")
	.bean(new ExchangeManipulateBean(),"implicitConvert")
	.bean(new ExchangeManipulateBean(),"traverseExchange")
	.to("file:d:/temp/outbox"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值