Java ApacheCamel:实际路由的是什么?

Java ApacheCamel:实际路由的是什么?,java,apache-camel,Java,Apache Camel,Apache Camel路线中的“提升单元”或流程是什么?也就是说,实际路由的对象是什么?一条消息?交换 我这样问是因为我认为路由由1个+处理器端点组成,而交换(包含消息)实际上是在所有端点之间路由的 但似乎Exchange可以同时具有入站和出站消息,这表明消息可以通过交换移动(而不是通过处理器/端点移动的交换)。有人能帮助澄清为什么Exchange有入和出的消息,以及实际传递到每个处理器/端点的路由是什么吗 交换只是单个路由中消息的包装器对象 交换中的输入和输出消息用于处理不同的交换模式(ME

Apache Camel路线中的“提升单元”或流程是什么?也就是说,实际路由的对象是什么?一条
消息
交换

我这样问是因为我认为
路由
由1个+
处理器
端点组成,而
交换
(包含
消息
)实际上是在所有端点之间路由的


但似乎
Exchange
可以同时具有入站和出站
消息
,这表明消息可以通过交换移动(而不是通过处理器/端点移动的交换)。有人能帮助澄清为什么Exchange有入和出的消息,以及实际传递到每个处理器/端点的路由是什么吗

交换只是单个路由中消息的包装器对象

交换中的输入和输出消息用于处理不同的交换模式(MEP)

通常,这在返回答案(即请求/响应模式)的处理器/端点中使用,在Camel中命名为InOut。然后处理器/组件将从
In
参数中读取请求,并在
Out
参数中设置响应。在下一步中,出路线将变为入路线

如果您想将消息放在某个地方而不担心响应,可以使用
ExchangePattern.inoly

即使您在处理器中并且想要转换消息,您也可以对in消息进行操作,它将被复制到Out

这在《骆驼行动》一书第1章中也有描述

路由正在传递消息,而Exchange是一个用于传递消息和访问某些全局元数据的访问对象