ActiveMQ发送ObjectMessage的一个问题

本文探讨了使用ActiveMQ发送序列化对象时遇到的消息重复问题。作者发现未初始化的字段会导致消息看似被多次接收,并分享了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近对公司实现分布服务,然后通过ActiveMQ发送消息,消息我是封装到一个实现了序列化的对象里面通过发送ObjectMessage来发送,在接收的时候发现虽然只发送了一个消息,但是在Listener的日志里面看到似乎消息被接收了N次,但是看发送端的Log,消息确实只发送了一次,而且另外一个代码分支发送同样的类的实例,却是正常的,后来看了一下,在出错的代码分支里面,类实例里面的一个变量没有设值,设置了值以后就好了。如下:

//出错的分支 ObjActiveMQ o1 = new ObjActiveM(); o1.n1="11111"; o1.n2="22222"; //这里没有设置n3 //正确的代码分支 ObjActiveMQ o2 = new ObjActiveM(); o1.n1="aaaaa"; o1.n2="bbbbb"; //这里设置了n3的值 01.n3="cccccc";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值