在运行时访问主题信息

从 2.9 版本开始,您可以在运行时通过注入提供的 DestinationTopicContainer bean 来访问有关主题链的信息。此接口提供了查找链中下一个主题或主题(如果配置了)的 DLT 的方法,以及主题名称、延迟和类型等有用的属性。

作为实际用例示例,您可以使用此类信息,以便控制台应用程序在导致处理失败的原因(例如,bug / 不一致状态)解决后,将记录从 DLT 重新发送到链中的第一个重试主题。

DestinationTopicContainer#getNextDestinationTopicFor() 方法提供的 DestinationTopic 对应于链中为输入主题注册的下一个主题。由于异常分类、尝试次数或单主题固定延迟策略等不同因素,消息实际转发到的主题可能会有所不同。如果您需要考虑这些因素,请使用 DestinationTopicResolver 接口。