我有包装我的头周围的概念困难。

我试图执行一个端点的TCP端口,用于以专用格式的传入消息,则这将转换消息,并且对收听CAMEL接管转发和路由。

了,我认为正确的是,制作人负责发送消息到EndpointConsumer从该端点接收它们理解?

当研究接口我无法找出这些对象之间的消息流,特别是在消费者部分。 Consumer仅定义start()stop()方法...

当上框架实现设置测试,Camel在端点和createProducer()生产者对象调用process()。之后,它返回,swithout做与消费者或与之相关联的处理器任何东西。

可能有人点我在正确的方向?

有帮助吗?

解决方案 2

我最后通过观察流成分计算出来。

原来,我做了思想的错误关于端点的东西中央通这一切都必须去。

简单的回答是,消费者从外部系统(监听在我的情况下的服务器套接字)接收数据和生产者将数据发送到外部系统。

由于我的终点是只读的(它不会被用作骆驼路由进程的最终目的地),我真的不需要一个生产者(它应该抛出一个RuntimeException如果系统仍试图做到这一点,由于配置错误)。嵌合例子是骆驼原子端点 - 你可以读进料,但(作为1.6.0),你不能发布一个

同样地,只需要一个生产者为不从外部系统(例如记录)接收数据只写端点。

其他提示

重要的是要记住,一个Endpoint,由Component(即端点厂)创建的,可以在骆驼Route或者端坐很重要的。如果你把的组件的在路线的起点则必须是组件的的Consumer部分的实现。这确实将所述特定的输入/请求(如HTTP请求)弄成通用的工作 - 骆驼Exchange - 可以向下行进一个路线。而如果你把的组件的在路线的结束的,那么你必须有一个Producer的实现。在生产者确实服用工作的交换路线的终点并将其转换成一些特定(如JMS消息)。

我发现保险丝ESB文档比 Apache的骆驼网站更好(一般)。从保险丝ESB组件页

  

<强>消费端点消耗的请求。他们总是出现在开始   路线的和它们封装负责接收的代码   传入的请求调度传出答复。

     

<强>生产者端点产生的请求。他们总是出现在年底   路线和它们封装负责调度的代码   传出请求和接收进入的答复。


“在这里输入的图像描述”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top