目前我有一个将 JMS 发送ObjectMessage到 ActiveMQ 目的地的应用程序。这些消息均派生自类base。
但是,我需要在某些派生类和基类之间添加一个类,所以 class middleextends base。现在,所有扩展的消息都middle无法发送,出现以下错误:
26 18:53:04.524 [ListenerContainer-1] WARN - Execution of JMS message listener failed
java.lang.NoClassDefFoundError: com/google/protobuf/ProtocolMessageEnum
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
...
Caused by: java.lang.ClassNotFoundException: com.google.protobuf.ProtocolMessageEnum
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
不扩展中间的消息仍然有效,只有从middlenow 派生的消息导致问题。任何帮助表示赞赏。谢谢!
编辑:发送由session.createObjectMessage(msg)where msgis of type处理base。
守着星空守着你
相关分类