【问题标题】:Camel: Implementing Polling and Non-Polling Consumer within the same componentCamel:在同一个组件中实现轮询和非轮询消费者
【发布时间】:2014-03-10 04:17:35
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: java apache-camel consumer


    【解决方案1】:

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

    • 消费者
    • 轮询消费者

    骆驼路线中使用的是前者。后者用于显式使用或使用 ConsumerTemplate 时使用接收方法。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      相关资源
      最近更新 更多