骆驼路线和终点
我一直在仔细研究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 可以发送的对象?