在apache camel中,哪种方法是将值从一个交换处理器传递到另一个交换处理器的最佳方式(以及原因):
在构建路由时使用setProperty
方法将其存储在交换标头
发布于 2012-04-27 05:58:07
属性和标头基本相同。但是,在某些组件(例如Jms )上,报头可以转换为协议特定的报头,也可以从协议特定的报头进行转换。所以,
路由内的标头元数据:与外部的properties
发布于 2012-04-27 21:52:05
Ben和Petter没有提到的一个区别是,在Camel中处理消息的整个过程中,都会安全地存储属性。相反,报头是消息协议的一部分,在路由过程中可能不会传播。例如,JMS有一些限制,您可以将其存储为头文件等。
您可能想要阅读行动中的骆驼书的免费第1章,因为它涵盖了骆驼的概念与交换,消息等。
发布于 2012-04-27 00:25:26
Exchange在处理器之间传递。它包含属性、IN消息和可选的OUT消息。它们中的每一个都能够存储对象数据,但通常情况下:
这就是说,它实际上依赖于跟随你的处理器的组件。大多数都有一些使用端点所需的头部和/或主体值,等等。有关这些细节,请参阅特定的component page。
此外,以下页面对Exchange/消息进行了更详细的说明:
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html
http://fusesource.com/docs/router/2.8/prog_guide/MsgFormats-Exchanges.html
https://stackoverflow.com/questions/10330998
复制相似问题