我需要根据计数器值更改每次轮询的最大邮件数。这应该使我能够获取存储在MongoDbMessageStore中的记录的子集
我尝试在PollerMetaData上添加AroundAdvice。使用DirectFieldAccessor设置maxMessagesPerPoll值。但是,每次轮询都会对MongoDbMessageStore中的整个数据集进行轮询和删除。
答案 0 :(得分:0)
您肯定需要显示一些尝试执行的配置和逻辑,但是看起来您有一个QueueChannel
和一个MongoDbMessageStore
作为消息的持久存储。
QueueChannel
由PollingConsumer
消耗,该setMaxMessagesPerPoll()
可以在逻辑中使用。
因此,每当需要更改该值时,只需为该端点找到合适的bean,然后调用该方法即可在运行时更改设置。