前⼀篇⽂章,写了消息发送确认的⼀些内容
就是消息发送成功或失败的时候,都会调⽤confirmListener 或者returnListener.如果消息发送成功,就不考虑了.当消息发送失败时,怎么处理这个消息呢.1.⾃动重发
2.系统预警⼈⼯处理等
以上操作,都需要知道是哪条消息,具体什么内容发送失败了,才能进⾏后续处理.在returnListener中,参数是有消息内容,exchange,routingKey 这些内容的.
但是在confirmListener中,却是什么都没有,只有个correlationData,⽽我们打印出的correlationData都是null
看来问题的关键就在这个correlationData上了, CorrelationData类只有⼀个属性ID, 很明显,我们在发送消息时,将消息和correlationData的ID做⼀个绑定,就可以根据id拿到消息. 然后进⾏重发,报警等操作了.
到发送消息的类⾥⾯, 发现AmqpTemplate ⾥⾯竟然没有和CorrelationData相关的⽅法,没办法把CorrelationData.id和消息进⾏绑定..
找到⽅法后,下⾯就⾮常简单了.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务