具有 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 属性,所以你没有看到延迟也就不足为奇了。
我正在使用 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 属性,所以你没有看到延迟也就不足为奇了。