【发布时间】:2011-12-05 09:48:54
【问题描述】:
我一直在研究 Apache Camel 文档,试图具体了解它的两个最基本的基本概念(端点和路由),尽管这些术语在整个文档中随处使用,我找不到真正定义它们是什么以及它们的用途的参考。尽管他们的名字听起来很明显,而且我认为我理解他们是什么,但我现在被分配到一项让我在 Apache Camel Land 深陷其中的任务,而且它绝对了解这些机制是什么至关重要。
我的猜测是,“端点”只是一个 bean - 可以像任何其他一样在配置文件中进行配置 - 将名称映射到 URI/端口组合(这取自 W3C 文档)。在 Apache Camel 的上下文中,我的猜测是端点用于将组件连接在一起,因此可以在它们之间形成“路由”(连接/映射)。所以当位于 Endpoint 1 的组件 A 想要与位于 Endpoint 2 的组件 B 通信时,只要有 1 到 2 的映射,Camel 就可以在这两者之间传递消息。
如果我在这里错了,请阻止我并纠正我!
所以现在,我已经看到了看起来可以在 Java 中配置路由的示例:
from("endpointA").routeId("someMessage").to("endpointB");
而且我已经看到了看起来可以在 XML 中配置路由的示例:
<route id="">
<from .../>
<to .../>
</route>
这两种配置路由的方法,还是完全不同的概念?
最后,可以在端点之间路由的消息格式是什么?如果必须是 XML,例如,这些路由消息的 XSD/schema 是什么?如果它必须是 Java 对象,Camel 可以发送的对象有哪些界限/限制?
【问题讨论】:
标签: java routes apache-camel endpoint