Ibm mq 通过独立服务器的Ibm mq连接]

Ibm mq 通过独立服务器的Ibm mq连接],ibm-mq,Ibm Mq,我正在尝试通过独立服务器连接到ibm mq队列。 (我正在使用7.0.3 ibmmq jar) 我已经在连接工厂中设置了所有这些属性。 连接成功,但我无法打开队列。获取以下错误 **MQJE001: Completion Code '2', Reason '6114'.** FAILED: Queueconnection com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'US.073

我正在尝试通过独立服务器连接到ibm mq队列。 (我正在使用7.0.3 ibmmq jar)

我已经在连接工厂中设置了所有这些属性。 连接成功,但我无法打开队列。获取以下错误

**MQJE001: Completion Code '2', Reason '6114'.**
FAILED: Queueconnection
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'US.0732931.NGEN.MANIFEST.LOADS'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.
    at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:585)
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221)

你真的没有提供足够的信息

  • 您使用的是什么连接工厂
  • 错误发生在MQOPEN上,但您没有显示createQueue方法的代码,该方法是重要的
下面是示例代码:

private void putMessage()
{
   JmsConnectionFactory cf = null;
   Connection connection = null;
   Session session = null;
   Destination reqQ = null;
   MessageProducer producer = null;

   try
   {
      // Create a connection factory
      JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);

      cf = ff.createConnectionFactory();
      cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, "MY_QMGR_NAME");
      cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "MY_TEST_CHL");
      cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, "some_remote_server");
      cf.setIntProperty(WMQConstants.WMQ_PORT, 1414);
      cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
      cf.setStringProperty(WMQConstants.USERID, "my_uid");
      cf.setStringProperty(WMQConstants.PASSWORD, "my_pwd");

      // Create JMS objects
      connection = cf.createConnection();
      connection.start();
      session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

      /**
       *  Create destination to send requests
       *  - MQA1 is the queue manager name
       *  - TEST.Q1 is the queue name
       */
      reqQ = session.createQueue("queue://MQA1/TEST.Q1");

      // Create producer
      producer = session.createProducer(reqQ);
      // Create a message
      Message myMsg = session.createTextMessage("This is a test message.");
      // Send it
      producer.send(myMsg);
   }
   catch(Exception ex)
   {
      System.err.println(ex.getLocalizedMessage());
   }
   finally
   {
      try
      {
         session.close();
      }
      catch (Exception ex)
      {
         System.err.println("session.close() : " + ex.getLocalizedMessage());
      }

      try
      {
         connection.close();
      }
      catch (Exception ex)
      {
         System.err.println("connection.close() : " + ex.getLocalizedMessage());
      }
   }
}
您是否正在使用AMS(高级消息安全)?堆栈跟踪是否比您发布的更多?
private void putMessage()
{
   JmsConnectionFactory cf = null;
   Connection connection = null;
   Session session = null;
   Destination reqQ = null;
   MessageProducer producer = null;

   try
   {
      // Create a connection factory
      JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);

      cf = ff.createConnectionFactory();
      cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, "MY_QMGR_NAME");
      cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "MY_TEST_CHL");
      cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, "some_remote_server");
      cf.setIntProperty(WMQConstants.WMQ_PORT, 1414);
      cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
      cf.setStringProperty(WMQConstants.USERID, "my_uid");
      cf.setStringProperty(WMQConstants.PASSWORD, "my_pwd");

      // Create JMS objects
      connection = cf.createConnection();
      connection.start();
      session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

      /**
       *  Create destination to send requests
       *  - MQA1 is the queue manager name
       *  - TEST.Q1 is the queue name
       */
      reqQ = session.createQueue("queue://MQA1/TEST.Q1");

      // Create producer
      producer = session.createProducer(reqQ);
      // Create a message
      Message myMsg = session.createTextMessage("This is a test message.");
      // Send it
      producer.send(myMsg);
   }
   catch(Exception ex)
   {
      System.err.println(ex.getLocalizedMessage());
   }
   finally
   {
      try
      {
         session.close();
      }
      catch (Exception ex)
      {
         System.err.println("session.close() : " + ex.getLocalizedMessage());
      }

      try
      {
         connection.close();
      }
      catch (Exception ex)
      {
         System.err.println("connection.close() : " + ex.getLocalizedMessage());
      }
   }
}