具有 fixedDelay 和 maxMessagesPerPoll 的 InboundChannelAdapter 问题 - fixedDelay 被忽略

InboundChannelAdapter issue with having fixedDelay and maxMessagesPerPoll - fixedDelay ignored

我正在使用 InboundChannelAdapter 每 100000 毫秒从数据库中获取数据。

 @InboundChannelAdapter(value = "inboundChannel", poller = @Poller(fixedDelay="100000",maxMessagesPerPoll = "10000"))

接下来是一个转换器,我将获取的数据转换为 json .

 @Transformer(inputChannel = "inboundChannel" , outputChannel = "outChannel")
 public Message<String> transformer(Message<List<MyOb>> items) 

当我 运行 代码时,如果 maxMessagesPerPoll 已定义,看起来 fixedDelay 被完全忽略(不等待 100000 milis)!

如果我删除 maxMessagesPerPoll 它会起作用。

在 table 我只有 2 行。

看来对 maxMessagesPerPoll 有一些误解。它确实对单个轮询周期有意义。默认情况下,它实际上是 1,因此,这就是您如何看到在两个不同周期中轮询的两条消息的延迟。因为你 h m 有超过 2 属性,所以你没有看到延迟也就不足为奇了。