【发布时间】:2017-01-17 17:49:39
【问题描述】:
我在 Stack Overflow 上看到了一两个关于此错误的问题,但我仍然无法解决它,所以我想我会提出自己的问题。
这是我的问题:
我正在使用 Spring 和 Spring 的 JMSTemplate 来执行一些消息传递和队列工作。我正在尝试从队列中读取。如果我的逻辑在我的代码中是正确的,我不是 100% 肯定的,但是每当我尝试运行我的应用程序时,我都会遇到这个异常(我只包含了最后一部分):
Caused by: com.ibm.msg.client.commonservices.CSIException: JMSCS0002
at com.ibm.msg.client.commonservices.workqueue.PIWorkQueueManager.enqueueItem(PIWorkQueueManager.java:67)
at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.enqueue(WorkQueueManager.java:225)
at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.enqueue(WorkQueueManager.java:194)
at com.ibm.msg.client.wmq.common.internal.WMQThreadPool.enqueue(WMQThreadPool.java:91)
现在我相当肯定这与我的代码无关,因为无论我如何更改逻辑,如果我尝试调用JMSTemplate 提供的任何方法,我都会收到此异常。在做了一些研究(基于其他堆栈溢出答案)之后,我认为它与我的类路径的设置方式有关。以下是这些问题的链接:
除此之外,这是我在 IBM 的 site 上找到的一些信息:
要为 JMS 应用程序编译和运行 WebSphere MQ 类,请使用 您的平台的 CLASSPATH 设置如表 1 所示。
CLASSPATH=MQ_INSTALLATION_PATH\java\lib\com.ibm.mqjms.jar; MQ_INSTALLATION_PATH\tools\jms;
我已经尝试过了,但它似乎仍然让我失望。这是我在 .bat 文件中为我运行的应用程序添加的内容:
c:\java\jre6\bin\javaw -cp "C:\ussco\wmsflgint\mqs\mqjms-7.5.0.0.jar; C:\ussco\wmsflgint\mqs\mq-7.5.0.0.jar; C:\ussco\wmsflgint\mqs\headers-1.4.2.jar; C:\ussco\wmsflgint\mqs\jmqi-7.5.0.0.jar;" -Xmx256M ....(后面还有更多,但我觉得不相关)
我没有正确添加这个吗?
谢谢
【问题讨论】:
-
我认为您的类路径中缺少 com.ibm.mq.commonservices.jar。尝试添加这个 jar。
标签: java eclipse spring jar ibm-mq