【问题标题】:java.lang.ClassNotFoundException when creating a mq connection factory through wsadmin通过 wsadmin 创建 mq 连接工厂时出现 java.lang.ClassNotFoundException
【发布时间】:2016-01-27 11:45:29
【问题描述】:

我在尝试通过 wsadmin 创建 websphere mq 连接工厂时收到 java.lang.ClassNotFoundException。

WASX7015E: Exception running command: "AdminTask.createWMQConnectionFactory(...)"; exception information:
 com.ibm.websphere.management.exception.ConnectorException
org.apache.soap.SOAPException: [SOAPException: faultCode=SOAP-ENV:Client; msg=com.ibm.ws.messaging.admin.command.AdminCommandException
Server stack trace
JMXTransformException java.lang.ClassNotFoundException: com.ibm.ws.messaging.admin.command.AdminCommandException
    at java.lang.Class.forNameImpl(Native Method)
    at java.lang.Class.forName(Class.java:185)
    at com.ibm.ws.util.WsObjectInputStream.loadClass(WsObjectInputStream.java:228)
    at com.ibm.ws.util.WsObjectInputStream.access$000(WsObjectInputStream.java:54)
    ...

我正在使用一个websphere应用服务器wsadmin瘦客户端,基于这篇文章http://www.ibm.com/developerworks/websphere/library/techarticles/1207_vansickel/1207_vansickel.html

我可能必须包含一个或多个来自 websphere 的 jar 才能成功。谁能告诉我哪些?

目前我在类路径中有这些 jar:

/usr/share/wsadmin/lib/jython/jython.jar
/usr/share/wsadmin/lib/com.ibm.ws.admin.client_7.0.0.jar
/usr/share/wsadmin/lib/com.ibm.ws.security.crypto.jar
/usr/share/wsadmin/lib/batch.jar

我正在使用 Websphere 7.0.0。

【问题讨论】:

  • 由于您使用瘦客户端,因此调用可能会引发其他一些异常,并且瘦客户端中没有异常类,因此您会得到 CNFE。在完整的 WAS 上运行相同的命令怎么样?这可以帮助您找到根本原因;修复它后,您应该也可以在瘦客户端中运行 AdminTask.createWMQConnectionFactory。
  • 当我在完整的 WAS 上执行此操作时,执行相同的命令时不会出现任何错误。

标签: java websphere mq wsadmin


【解决方案1】:

这很奇怪,但是当您引用一个不存在的队列或其大小写与您的 wsadmin 调用中的队列不同时,我发现对这个 CNFE 的引用。 IOW 这只是某种后续失败。

可能对任何参数进行三次检查,尤其是在大小写方面。

http://www-01.ibm.com/support/docview.wss?uid=swg21631640

【讨论】:

  • 我只是在这里创建连接工厂,还没有使用它,所以名称并不重要。无论如何,在完整的 WAS 安装上执行完全相同的命令,没有任何错误(连接到同一个 dmgr)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 2017-08-21
相关资源
最近更新 更多