在运行时访问主题信息
自 2.9 起,你可以通过注入提供的 DestinationTopicContainer bean 在运行时访问有关主题链的信息。该接口提供方法来查找链中的下一个主题,或在已配置时查找某主题的 DLT,以及主题名称、延迟和类型等有用属性。
作为一个真实用例示例,你可以使用这些信息,让一个控制台应用程序在处理失败的原因(例如 bug / 不一致状态)得到解决之后,将一条记录从 DLT 重新发送到链中的第一个重试主题。
important
DestinationTopicContainer#getNextDestinationTopicFor() 方法提供的 DestinationTopic 对应于输入主题在链中注册的下一个主题。消息实际被转发到的主题可能因异常分类、投递次数或单主题固定延迟策略等不同因素而有所不同。如果你需要权衡这些因素,请使用 DestinationTopicResolver 接口。