是否可以从 Weblogic JMS 文件存储中抢救消息?
我有几个来自 Weblogic 10.3 服务器的 JMS 文件存储,如果可能的话,我想检索其中包含的消息,而不使用 Weblogic。这可能吗?
许多年前,我能够使用 Java 序列化 (ObjectInputStream) 读取 Weblogic 早期版本的 JMS 文件存储,但是
java.io.StreamCorruptedException: invalid stream header: C001BEAD
当我使用 ObjectInputStream 打开它们时,我拥有的文件出现异常。我想知道在反序列化消息之前是否需要跳过一个文件头,或者这个版本的 Weblogic 根本不使用 Java 序列化。
文件中的消息是MapMessages。当我十六进制转储文件时,我可以看到与映射键对应的字符串,但当然这些值无法以这种方式读取。但事实上,我可以看到映射键,这让我对消息在文件中序列化充满希望。
关于如何挽救数据有什么想法吗?
I have a couple of JMS file stores from a Weblogic 10.3 server, and i would like to retrieve the messages contained in them, if possible, without using Weblogic. Is this possible?
Many years ago i was able to read the JMS file store for a previous version of Weblogic using Java serialization (ObjectInputStream), but the files i have are giving me a
java.io.StreamCorruptedException: invalid stream header: C001BEAD
exception when i open them using ObjectInputStream. I'm wondering if there is a file header that i need to skip before i can deserialize the messages, or perhaps this version of Weblogic doesn't use Java serialization at all.
The messages in the file are MapMessages. I can see the strings that correspond to the map keys, when i hex dump the file, but of course the values are not readable this way. But the fact that i can see the map keys make me hopeful that the messages are serialized in the file.
Any ideas on how to salvage the data?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此时,数据存储区已准备好使用您编写的 QueueBrowser 或 TopicSubscriber 检查/转储。或者,您可以使用 Hermes JMS ( http://www.hermesjms.com ) 临时遍历消息。 Hermes 具有您可以为自定义消息类型实现的消息渲染器。
At this point, the datastore is ready to be inspected/dumped using a QueueBrowser or a TopicSubscriber that you write. Alternatively, you could walk the messages ad hoc using Hermes JMS ( http://www.hermesjms.com ). Hermes has message renderers that you can implement for your custom message types.
我们和 Oracle 支持人员能够想到的唯一方法是创建另一个以相同方式配置的 Weblogic 实例,并让该 Weblogic 实例拾取并处理消息。
The only way we and Oracle support were able to come up with, was to create another Weblogic instance configured the same way, and let that Weblogic instance pick up and process the messages.