骆驼:在同一个组件中实现轮询和非轮询消费者

时间:2014-03-10 04:17:36

标签: java apache-camel consumer

我正在实现自己的自定义组件,我发现我需要为消费者提供两个用例:

  • 第一个是尝试每隔一段时间获得N个可用消息(Polling Consumer)
  • 第二个是订阅者消费者,在消息可用时获取消息。

我的主要问题是是否可以实现这两种类型。我一直在尝试编写一些代码,但似乎如果您正在开发PollingConsumer,则无法实现其他类型。此外,如果可能,是否有任何关于如何做到这一点的示例,文章或指南?我一直都在寻找它。

谢谢!

1 个答案:

答案 0 :(得分:2)

Camel中有两种消费者类型(例如来自EIP书籍)

  • 消费
  • PollingConsumer

它是Camel路线中使用的前者。当您明确地使用它或使用ConsumerTemplate时,使用后者来使用接收方法。

Camel组件能够使消费者适应开箱即用的PollingConsumer。

因此,如果您想构建路由中使用的Camel组件,则可以创建一个使用者。并且能够进行民意调查和订阅。获得数据后,创建一个Exchange并调用处理器进行路由。

有关文档,请查看Camel网站和/或Camel in Action一书中的第11章,其中包括创建自定义组件。