Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Camel:在同一组件中实现轮询和非轮询使用者_Java_Apache Camel_Consumer - Fatal编程技术网

Java Camel:在同一组件中实现轮询和非轮询使用者

Java Camel:在同一组件中实现轮询和非轮询使用者,java,apache-camel,consumer,Java,Apache Camel,Consumer,我正在实现我自己的定制组件,我发现我需要两个用于消费者的用例: 第一种方法是每隔一段时间尝试获取N条可用消息(轮询消费者) 第二个是订阅者消费者,当消息可用时获取消息 我的主要问题是能否实现这两种类型。我一直在尝试编写一些代码,但是如果您正在开发一个PollingConsumer,您似乎无法实现另一种类型。此外,如果可能的话,是否有关于如何做到这一点的示例、文章或指南?我一直在找,什么也没找到 谢谢 Camel中有两种消费者类型(如来自EIP手册) 消费者 民意调查消费者 骆驼路线上使用

我正在实现我自己的定制组件,我发现我需要两个用于消费者的用例:

  • 第一种方法是每隔一段时间尝试获取N条可用消息(轮询消费者)
  • 第二个是订阅者消费者,当消息可用时获取消息
我的主要问题是能否实现这两种类型。我一直在尝试编写一些代码,但是如果您正在开发一个
PollingConsumer
,您似乎无法实现另一种类型。此外,如果可能的话,是否有关于如何做到这一点的示例、文章或指南?我一直在找,什么也没找到


谢谢

Camel中有两种消费者类型(如来自EIP手册)

  • 消费者
  • 民意调查消费者
骆驼路线上使用的是前者。后者用于显式使用它或使用ConsumerTemplate使用receive方法

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

因此,这取决于您是否要构建路由中使用的Camel组件,您可以只创建一个使用者。让它能够进行投票和订阅。当您有了数据后,创建一个交换并调用处理器对其进行路由

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