如何使用java-dsl为队列通道指定轮询器?

时间:2016-07-12 16:58:15

标签: spring-integration

我想使用java-dsl来消息来自队列频道的消息,但Integrations.from没有签名允许我指定一个轮询器。

我怎样才能做到这一点?

例:

 @Bean
 IntegrationFlow flow() {
   return IntegrationFlows.from(this.channel())
                      .handle(...)
                      .get();
 }

 @Bean
 MessageChannel channel() {
     return MessageChannels.queue().get();
 }

2 个答案:

答案 0 :(得分:3)

嗯,实际上提供轮询属性是一个终端责任。

如果您熟悉XML配置,则应记住要从<queue>进行投票,我们应为<poller>等配置<service-activator>子元素。

同样的方法也适用于Java DSL。下一个端点定义应该是所需的poller

IntegrationFlows.from(this.channel())
                  .handle(..., e -> e.poller(Pollers...))
                  .get();

答案 1 :(得分:0)

由于某种原因我在端点定义上设置轮询器时遇到了麻烦,因为Artem描述了 - 由于某种原因它被忽略了。您始终可以设置默认轮询器。这对我有用:


result = cursor.callfunc("pkgioexportora.request", cx_Oracle.NUMBER, [xml_stuff])