【问题标题】:Cannot send request to MQSeries service无法向 MQSeries 服务发送请求
【发布时间】:2017-08-21 06:57:06
【问题描述】:

我正在尝试使用此类代码发送请求

import com.ibm.mq.jms.*;
import com.ibm.msg.client.wmq.WMQConstants;

import javax.jms.Session;
import javax.jms.TextMessage;

public class MQSend {  
  public static void main(String[] args)
    {
            try {
            MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
            cf.setHostName("blabla");
            cf.setPort(15000);

            cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);

            cf.setQueueManager("");
            cf.setChannel("blabla");

            MQQueueConnection connection = (MQQueueConnection) cf.createQueueConnection("blabla","blabla");

            MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
            MQQueue queue = (MQQueue) session.createQueue("blabla");

            MQQueueSender sender =  (MQQueueSender) session.createSender(queue);


            long uniqueNumber = System.currentTimeMillis() % 1000;

            TextMessage message = (TextMessage) session.createTextMessage("Basic Queue Test "+ uniqueNumber);

            // Start the connection
            connection.start();
       //     sender.send(message);

            System.out.println("Sent message to Queue MyTestQueue: " + message.getText());
        //   sender.close();
            session.close();
            connection.close();
            System.out.println("Message Sent OK.\n");
        }

        catch (Exception ex) {
            System.out.println(ex);
            System.out.println("Message Send Failure\n");
        }
    }
}

我明白了

Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/msg/client/commonservices/trace/Trace
at com.ibm.msg.client.jms.internal.JmsReadablePropertyContextImpl.<clinit>(JmsReadablePropertyContextImpl.java:51)
at com.hsbc.hbfr.test.automation.tools.jrb.plugins.itm.MQSend.main(MQSend.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: com.ibm.msg.client.commonservices.trace.Trace

所以问题是 java 无法为 com/ibm/msg/client/commonservices/trace/Trace 获取合适的 jar 但我什至不在代码中使用这种依赖,有什么建议吗? 谢谢

【问题讨论】:

    标签: queue ibm-mq


    【解决方案1】:

    您是否在服务器上安装了 MQ 客户端?您是否按照文档将所有 MQ jar 文件放在 CLASSPATH 中?看来您至少错过了一个。

    【讨论】:

      猜你喜欢
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多