Weblogic JMS 绑定问题,class 无法初始化异常

Weblogic JMS binding issue, class could not be initialized exception

无法初始化 class 在 Weblogic 12c 服务器中尝试查看 JMS 目标的 jndi 绑定时出现异常。我已经使用 JMS 目标队列和连接工厂设置了 JMS 模块。以下是部署在服务器中的东西:

 JMS Module : MyAppJmsModule (JMSSystemResource)
 JMS Server : MyAppJMSServer (Foreign Server)
 JNDI Initial Context Factory: com.sun.jndi.fscontext.RefFSContextFactory
 JNDI Connection URL: file:///abc/oracle/config/domains/domain_test/jms/MyAppJmsModule/MyAppJMSServer/jms 
 In the above path lies the .bindings file

 Destination tab showing Name, Local JNDI name and Remote JNDI name correctly.
 Connection Factories tab also showing the jndi names correctly.
 Local jndi name is prefixed with jms/

现在,当我单击 JNDI 树内的目标时,出现以下错误:

Unexpected exception: failed to load return type: class java.lang.Object; nested exception is: java.lang.ClassNotFoundException: Failed to load class com.ibm.mq.jms.MQQueue

来自 weblogic 日志的错误:

An error was generated by the RMI server:
    weblogic.jndi.internal.RootNamingNode.lookup(Ljava.lang.String;Ljava.util.Hashtable;)


java.lang.NoClassDefFoundError: Could not initialize class com.ibm.mq.jms.MQXAQueueConnectionFactory.
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.ibm.mq.jms.MQXAQueueConnectionFactoryFactory.class$(MQXAQueueConnectionFactoryFactory.java:58)
    at com.ibm.mq.jms.MQXAQueueConnectionFactoryFactory.getObjectInstance(MQXAQueueConnectionFactoryFactory.java:58)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)

成功的 JNDI 绑定应该显示如下内容:

 Binding Name:      jms.QUEUENAME
 Class:             com.ibm.mq.jms.MQQueue
 Hash Code:         Some Value
 toString Results:  queue://QUEUEMGR/APP.QUEUENAME?persistence=2&expiry=0

我部署了一个已成功部署但处于警告状态的应用程序。当我检查应用程序的监控选项卡时,它显示以下错误:

Symtom{MDB,MEDIUM,MyApp-0.0.1-SNAPSHOT,MDB application MyApp-0.0.1-SNAPSHOT is NOT connected to messaging system.}

我检查了几个已加载的 classes,我发现以下相关的 classes 显示在应用程序 classpath 中:

~/application/config/com.ibm.mq-9.0.0.jar
~/application/config/com.ibm.mq.headers.jar
~/application/config/com.ibm.mq.jmqi-9.0.0.jar
~/application/config/com.ibm.mq.pcf-6.1.jar
~/application/config/com.ibm.mqjms-9.0.0.jar
~/application/config/commons-codec-1.10.jar
~/application/config/dhbcore.jar
~/application/config/fscontext.jar
~/application/config/javaee-api-5.jar
~/application/config/jms.jar
~/application/config/jndi.jar
~/application/config/providerutil.jar

Please help me to find out what is I am missing in my configurations.

应用程序已成功部署,并且正在连接到 JMS 消息传递系统。我已经删除了 javaee-api jar,因为它已经存在于具有不同版本的类路径中,并从 weblogic 库中添加了 jms-api jar。

但是,JNDI 树中的目标仍然给出错误。