apache.camel 中 Exchange 的 getIn() 与 getMessage()

Vio*_*apu 3 java apache-camel

我试图了解 apache.camel Exchange 的 getIn() 和 getMessage() 之间的区别。在文档中它说 getIn() 返回入站消息,而 getMessage() 返回当前消息。我的问题是:当入站消息在当前处理器中没有改变时,getIn() 和 getMessage() 是否返回相同的消息?

Bed*_*dla 7

如果使用InOnly MEP,方法getIn()getMessage()返回Message.

的逻辑getMesage()很简单。如果交换有关联out消息,则返回out。否则返回in

在大多数情况下,不会有out与 相关联的消息Exchange。在 Apache Camel 3 中getOut()已弃用,保留用于边缘情况和组件开发人员的内部使用。鼓励最终用户选择getMessage()而不是getIn()getOut()

  • “鼓励更喜欢 `getMessage()` 而不是 `getIn()` 和 `getOut()` " -> 关于 `getIn()` 部分:我找不到对 `getIn()` 方法这样的鼓励。既不在 [Exchange JavaDoc](https://www.javadoc.io/static/org.apache.camel/camel-api/3.0.0/org/apache/camel/Exchange.html) 中,也不在 [文档MEP](https://camel.apache.org/manual/faq/using-getin-or-getout-methods-on-exchange.html)。您从哪里获得这些信息? (2认同)