我决定使用 SCS 以避免被特定的消息代理卡住。话虽如此,我还没有找到一种自动或手动确认消息的方法,我发现的只是 Spring Cloud GCP 下的东西,比如 PubSubTemplate。问题是我的听众一遍又一遍地收到相同的消息。无论消息实现如何,有没有办法在 SCS 中拉出消息后立即自动确认消息?也许通过改变一些财产?
问问题
440 次
1 回答
2
如果消息处理程序没有抛出异常,确认是自动的。当然,特定的活页夹可能有问题,但除此之外,我确信 GCP 活页夹没有这个问题。
基本上我想说的是,正如你所说的“......与SCS一起使用以避免陷入......”。我会添加“......以避免陷入手动处理消息传递问题......”。这意味着 ACK/NACK、重试、DLQ 等通常都是 SCSt 和 Spring 的责任。
是的,在某些极端情况下,可能需要手动处理某些事情,并且某些活页夹确实公开了确认和其他回调,但我们还没有到那里,因为我更担心您所描述的症状 -我的听众不断收到相同的消息和结束。如果这样的侦听器不抛出异常,那几乎是不可能的。
因此,请考虑提供更多详细信息,或者最好将您的示例项目发布到 GitHub 上的某个位置,以便我们查看。
于 2019-02-22T07:25:13.157 回答