0

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

  • 第一个将尝试每隔一段时间获取 N 条可用消息(轮询消费者)
  • 第二个是订阅者消费者,当消息可用时获取消息。

我的主要问题是是否可以实现这两种类型。我一直在尝试编写一些代码,但似乎如果你正在开发一个 PollingConsumer你不能实现另一种类型。另外,如果可能的话,是否有任何关于如何执行此操作的示例、文章或指南?我一直在寻找它没有出现。

谢谢!

4

1 回答 1

2

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

  • 消费者
  • 轮询消费者

它是骆驼路线中使用的前者。当您显式使用它或使用 ConsumerTemplate 时,使用后者来使用接收方法。

Camel 组件能够开箱即用地使 Consumer 适应 PollingConsumer。

所以这取决于你是否想构建一个用于路由的 Camel 组件,你可以只创建一个消费者。并让它能够同时进行轮询和订阅。获得数据后,创建一个 Exchange 并调用处理器对其进行路由。

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

于 2014-03-10T10:10:38.763 回答