首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在apache camel中的处理器之间传递值

在apache camel中的处理器之间传递值
EN

Stack Overflow用户
提问于 2012-04-26 17:47:52
回答 4查看 38.4K关注 0票数 28

在apache camel中,哪种方法是将值从一个交换处理器传递到另一个交换处理器的最佳方式(以及原因):

在构建路由时使用setProperty方法将其存储在交换标头

  • 中。

  • 另一种方法..
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-27 05:58:07

属性和标头基本相同。但是,在某些组件(例如Jms )上,报头可以转换为协议特定的报头,也可以从协议特定的报头进行转换。所以,

路由内的标头元数据:与外部的properties

  • Meta数据:
票数 30
EN

Stack Overflow用户

发布于 2012-04-27 21:52:05

Ben和Petter没有提到的一个区别是,在Camel中处理消息的整个过程中,都会安全地存储属性。相反,报头是消息协议的一部分,在路由过程中可能不会传播。例如,JMS有一些限制,您可以将其存储为头文件等。

您可能想要阅读行动中的骆驼书的免费第1章,因为它涵盖了骆驼的概念与交换,消息等。

票数 60
EN

Stack Overflow用户

发布于 2012-04-27 00:25:26

Exchange在处理器之间传递。它包含属性、IN消息和可选的OUT消息。它们中的每一个都能够存储对象数据,但通常情况下:

  • 将交换属性用于有关消息的一般元数据(较少用于IN消息头以配置端点属性,或用于有关消息正文的元数据(经常使用)
  • 将IN消息正文用于消息的有效负载(最常用)
  • 仅在必要时创建OUT消息,以便在处理过程中维护单独的IN和OUT消息(默认情况下仅使用IN )

这就是说,它实际上依赖于跟随你的处理器的组件。大多数都有一些使用端点所需的头部和/或主体值,等等。有关这些细节,请参阅特定的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

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10330998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档