我一直在阅读Apache Camel文档,试图深入理解其最基本的两个概念(端点和路由),虽然这些术语在文档中随处可见,但我找不到任何实际定义它们是什么以及它们用于什么的参考资料。虽然它们的名称听起来相当明显,而且我认为我知道它们是什么,但现在我被分配到一个任务,让我完全深入了解Apache Camel Land ,所以我必须非常清楚地了解这些机制。
我的猜测是,“端点”只是一个bean-可以像其他任何bean一样在配置文件中配置-将名称映射到URI /端口组合(从W3C文档中获取)。在Apache Camel的上下文中,我猜想端点用于连接组件,以便可以在它们之间形成“路由”(连接/映射)。因此,当位于端点1的组件A想要与位于端点2的组件B通信时,只要存在从1到2的映射,Camel就能够在这两者之间传输消息。
如果我理解错误,请停下并纠正我!
现在,我已经看到了一些例子,看起来好像可以在Java中配置路由:
from("endpointA").routeId("someMessage").to("endpointB");
我看到过一些例子,其中路由似乎可以在XML中配置:
<route id="">
<from .../>
<to .../>
</route>
这两种方法是用于配置路由的,还是完全不同的概念?
最后,可以在端点之间路由的消息格式是什么? 例如,如果它必须是XML,那么这些路由消息的XSD/模式是什么?如果它必须是Java对象,那么Camel可以发送哪些对象的限制/约束?