我想序列化一个MQMessage并将其保存到磁盘/数据库。我的目标是以后能够反序列化它,所有的头、命名属性和内容都完好无损。
为了清楚起见,我需要这样的东西:
byte[] serialize(MQMessage m);
MQMessage deserialize(byte[] b);以便在执行以下操作时:
MQMessage M = deserialize(serialize(m));我得到的结论是,M是m的“克隆”。
如果需要,这需要能够重新提交消息进行处理(在大型MQ网络中,应用程序迟早会吃掉/丢失一些消息)。因此,我需要能够反序列化我想要重新提交的每个MQMessage的1:1副本(即,不仅是它的内容,而且还有它的头、属性、编码、格式等等)。
不幸的是,MQMessage似乎没有实现任何类型的序列化机制。你会怎么做呢?手工编写序列化/反序列化代码是唯一的方法吗?
发布于 2013-03-01 08:33:27
为什么要重新发明轮子。已经有很多免费的和商业的工具可以用来进行消息回放。
下面是免费MQ工具的列表:http://www.capitalware.biz/mq_tools.html
下面是商业MQ工具的列表:http://www.capitalware.biz/mq_tools_comm.html
https://stackoverflow.com/questions/15137270
复制相似问题