我们有场景需要异步处理来自外部系统的大量消息,目前的设计是每 5 分钟唤醒一次工作以从外部系统提取 msg,然后持久化原始 msg,然后将 msg id 发送到 ExecutorChannel,所以消费者(可能很多)可以从渠道消费。
我们面临的问题是如何处理队列中的消息时系统崩溃,不知何故,每次作业唤醒时,我们都需要查看我们的数据库以找出是否有任何原始消息不在队列中。
最简单的方法是查询当前队列大小并找出队列中的原始味精是否多于味精。所以我的问题是: ExecutorChannel 是否有任何 API 可以找出队列的大小?或任何其他建议?
谢谢杰森