题
我有包装我的头周围的概念困难。
我试图执行一个端点的TCP端口,用于以专用格式的传入消息,则这将转换消息,并且对收听CAMEL接管转发和路由。
了,我认为正确的是,制作人负责发送消息到Endpoint
和Consumer
从该端点接收它们理解?
当研究接口我无法找出这些对象之间的消息流,特别是在消费者部分。 Consumer
仅定义start()
和stop()
方法...
当上框架实现设置测试,Camel
在端点和createProducer()
生产者对象调用process()
。之后,它返回,swithout做与消费者或与之相关联的处理器任何东西。
可能有人点我在正确的方向?
解决方案 2
我最后通过观察流成分计算出来。
原来,我做了思想的错误关于端点的东西中央通这一切都必须去。
简单的回答是,消费者从外部系统(监听在我的情况下的服务器套接字)接收数据和生产者将数据发送到外部系统。
由于我的终点是只读的(它不会被用作骆驼路由进程的最终目的地),我真的不需要一个生产者(它应该抛出一个RuntimeException如果系统仍试图做到这一点,由于配置错误)。嵌合例子是骆驼原子端点 - 你可以读进料,但(作为1.6.0),你不能发布一个
同样地,只需要一个生产者为不从外部系统(例如记录)接收数据只写端点。
其他提示
重要的是要记住,一个Endpoint
,由Component
(即端点厂)创建的,可以在骆驼Route
的或者端坐很重要的。如果你把的组件的在路线的起点则必须是组件的的Consumer
部分的实现。这确实将所述特定的输入/请求(如HTTP请求)弄成通用的工作 - 骆驼Exchange
- 可以向下行进一个路线。而如果你把的组件的在路线的结束的,那么你必须有一个Producer
的实现。在生产者确实服用工作的交换从路线的终点并将其转换成一些特定(如JMS消息)。
我发现保险丝ESB文档比 Apache的骆驼网站更好(一般)。从保险丝ESB组件页一个>:
<强>消费端点强>消耗的请求。他们总是出现在开始 路线的和它们封装负责接收的代码 传入的请求调度传出答复。
<强>生产者端点强>产生的请求。他们总是出现在年底 路线和它们封装负责调度的代码 传出请求和接收进入的答复。
一个生产者处理器延伸,这意味着它有一个处理方法,以及
退房的免费章节1中的骆驼在行动的书,讲述了一些关于这些骆驼的概念。 http://www.manning.com/ibsen/
和这个教程也优异,因为它引入了一个稳定的速度这些概念 http://camel.apache.org/tutorial-example-reportincident.html