IAm*_*aja 17 java routes apache-camel endpoint
我一直在研究Apache Camel文档,试图对其最基本的两个概念(端点和路由)进行具体的理解,尽管这些术语在整个文档中随处可见,但我找不到实际定义它们的参考它们是用来做什么的.尽管他们的名字听起来相当明显,而且我想我明白了它们是什么,但我现在已被分配到一项让我深入Apache Camel Land的任务,而且我理解这些机制至关重要是.
我的猜测是"端点"只是一个bean - 可以像配置文件一样配置在配置文件中 - 将名称映射到URI /端口组合(这取自W3C文档).在Apache Camel的上下文中,我的猜测是端点用于将组件连接在一起,因此可以在它们之间形成"路由"(连接/映射).因此,当生活在端点1的组件A想要与生活在端点2的组件B通信时,只要存在从1到2的映射,Camel就能够在这两者之间传输消息.
如果我错在这里,请阻止我并纠正我!
所以现在,我已经看到了可以在Java中配置路由的示例:
from("endpointA").routeId("someMessage").to("endpointB");
Run Code Online (Sandbox Code Playgroud)
我已经看到了可以在XML中配置路由的示例:
<route id="">
<from .../>
<to .../>
</route>
Run Code Online (Sandbox Code Playgroud)
这两种方法是配置路由,还是完全不同的概念?
最后,端点之间可以路由的消息格式是什么?例如,如果它必须是XML,那么这些路由消息的XSD /模式是什么?如果它必须是Java对象,那么哪些边界/限制适用于Camel可以发送的对象?
Mik*_*one 16
看起来你正在理解这个概念.我认为以更抽象的术语来思考端点是有帮助的.在骆驼的文档是没有多大帮助这里.端点可以被视为组件的接口.每个组件可以配置一个或多个端点.它帮助我考虑路线环境中的端点.一个简单的路由可以来自端点A(这可以是JMS队列,tcp套接字,文件或任何驼峰组件)并转到端点B(可以是任何驼峰组件).当然,您也可以在路径中使用处理器来转换数据.
您提供的两个路由创建示例就是两种创建路由的方法.它们是同一概念的例子.第一个是Java DSL,第二个是使用XML.
消息的格式通常是XML,XML可以是任何有效的XML,不需要绑定到XSD.该消息也可以是任何Java对象.只要它停留在JVM中(即,不会越过套接字),它就不需要可序列化.
| 归档时间: |
|
| 查看次数: |
15731 次 |
| 最近记录: |