在Kafka听留言之前/之后有什么可用的钩子吗?
用例:必须为设置mdc co-relationid以执行日志跟踪
我在找什么?一种before/after回调方法,这样就可以在进入时设置mdc关联id,并最终在退出时清除mdc。
已编辑的场景:我正在获取作为kafka头的一部分的co-relationid,并且我希望在kafka侦听器中收到消息后立即在mdc中设置相同的关系id
谢谢你的帮助
在Kafka听留言之前/之后有什么可用的钩子吗?
用例:必须为设置mdc co-relationid以执行日志跟踪
我在找什么?一种before/after回调方法,这样就可以在进入时设置mdc关联id,并最终在退出时清除mdc。
已编辑的场景:我正在获取作为kafka头的一部分的co-relationid,并且我希望在kafka侦听器中收到消息后立即在mdc中设置相同的关系id
谢谢你的帮助
1条答案
按热度按时间eivnm1vs1#
您可以向侦听器bean添加一个around建议。。。
和
编辑
如果你加上
@Header("myMdcHeader") byte[] mdc
作为kafka侦听器方法的附加参数,可以使用getArguments()[1]
在召唤上。另一个解决方案是添加
RecordInterceptor
侦听器容器工厂,它允许您访问原始ConsumerRecord
在传递给侦听器适配器之前。如果您使用的是批处理侦听器,kafka提供
ConsumerInterceptor
.