当我重新启动应用程序时,我需要处理Kafka中的其余消息,直到其为空为止,然后我的应用程序应继续正常运行。我的问题是如何检查Kafka是否为空。我正在使用Spring Kafka。
谢谢
答案 0 :(得分:0)
设置idleEventInterval
容器属性,您可以侦听ListenerContainerIdleEvents
,该时间间隔内每次未收到记录时将发布PropTypes.shape
。
虽然高效,但异步使用者的一个问题是检测它们何时处于空闲状态。如果一段时间内没有邮件到达,您可能需要采取一些措施。
您可以将侦听器容器配置为在一段时间没有消息传递的情况下发布ListenerContainerIdleEvent。在容器处于空闲状态时,每隔idleEventInterval毫秒发布一次事件。
答案 1 :(得分:0)
您可以简单地向具有唯一标识符或特殊类型(例如type: RESTART
)的主题发送特殊的“重新启动”消息,并配置您的Kafka侦听器以在(例如,通过单独的Kafka主题)通知您的应用程序。收到“重新启动”消息。