java - 有没有办法识别可反序列化的未知 jms 对象?

标签 java spring jms ibm-mq

所以你在日志中发现了一个异常:

Execution of JMS message listener failed, and no ErrorHandler has been set.
com.company.eq.mo.app.exception.DefaultMessageListenerException: Failed to handle message.; nested exception is com.company.eq.mo.app.exception.DefaultMessageListenerException: This message does not contain a recognised java object; nested exception is javax.jms.MessageFormatException: MQJMS1061: Unable to deserialize object the class name to find out anymore info about the message:

消息是可反序列化的,您无法在运行时获取和打印对象:

    Object object = ((ObjectMessage) message).getObject();
                object.getClass();

因为它不存在于你的类路径中。

是否有任何其他方式获取类/对象名称?

最佳答案

您可以为 Java 实现自己的解析器 Object Serialization Stream Protocol ,但出于大多数实际目的,您确实需要在类路径中提供所有序列化类。

关于java - 有没有办法识别可反序列化的未知 jms 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932741/

相关文章:

java - 可以使用合成方法或桥接方法来平滑 int -> double API 更改吗?

java - 使用自定义注释扩展类级别 RequestMapping

java - 使用消息使用者时的 JMS 自动确认

java - 我应该在哪里打开/关闭 JSF ManagedBean 中的 JMS 连接?

java - 为什么我会收到此空异常错误?

java - JSP - 知道我何时退出 jsp 页面

java - 如何使用 Hibernate 模仿 upsert 行为?

java - Gradle构建成功,运行jar报错

java - 运行 Spring Boot Azure Function App 时出错

jms - JavaEE 6 : How to inject JMS Resource in a standalone JMS client?