gpt4 book ai didi

java - 反序列化 JMS 消息中的对象

转载 作者:行者123 更新时间:2023-12-01 05:06:55 26 4
gpt4 key购买 nike

有人尝试过从 IBM MQ Visual Edit 反序列化 JMS 对象消息吗?我需要破译通过 MQ 作为 JMS 消息发送的对象。我将消息保存到文件中并尝试使用 ObjectInputStream 读取它,如下所示:

ObjectInputStream objectStream = new ObjectInputStream(new DataInputStream(new FileInputStream("PATH TO THE FILE")));
SomeObject result = ((SomeObject)objectStream.readObject());

但是我收到一个错误:

java.io.StreamCorruptedException: invalid stream header: 52464820
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:794)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:291)
at com.railinc.emis.transaction.model.DeserializerClass.main(DeserializerClass.java:14)

我对此进行了一些研究,发现用于序列化的相同类应该用于反序列化。

如果有人以前尝试过此操作,请告诉我您的体验。

最佳答案

我不了解 IBM MQ Visual Edit,但如果它具有保存 ObjectMessage 的功能,那么它可能不仅会保存消息中包含的对象,还会保存 header (包含 JMS 属性)。我认为您无法仅使用 ObjectInputStream 从文件中读回对象。为什么不将该消息放入测试队列并从那里读取它?

关于java - 反序列化 JMS 消息中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com