IT其它MQ

MQ 错误 2009 连接不上队列管理器

private static String host = "localhost";
  private static int port = 1415;
  private static String channel = "SYSTEM.DEF.SVRCONN";
  private static String queueManagerName = null;
  private static String destinationName = null;
  //这里用来判断是不是点对点模式
  private static boolean isTopic = false;

  // System exit status value (assume unset value to be 1)
  private static int status = 1;

  /**
   * Main method
   *
   * @param args
   */
  public static void main(String[] args) {
    // Parse the arguments
        //队列管理器名称如果出现下划线的话会提示( 'MQCC_FAILED' ),原因为 '2058' ( 'MQRC_Q_MGR_NAME_ERROR' )。
        args = new String[]{"-m","aaa", "-d","a"};
//        args = new String[]{"-m","aaaa", "-d","topic://zhuti","-h","localhost","-p","14114"};


这是jms中代码初始化队列名称。
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: 连接至队列管理器“aaa”失败,连接方式为“Client”,主机名为“localhost”。 检查队列管理器是否已启动,如果正在以客户机方式运行,那么还要检查是否有侦听器在运行。请参阅链接的异常以获取更多信息。
Inner exception(s):
com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ 调用失败,完成代码为“2”(“MQCC_FAILED”),原因为“2009”(“MQRC_CONNECTION_BROKEN”)。
com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9204: 与主机 'localhost(1415)' 的连接被拒绝。 [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]],3=localhost(1415),5=RemoteTCPConnection.receive]
com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]
java.net.SocketException: Connection reset
FAILURE
这是控制台输出的。

我的队列管理器 是 'aaa' 本地队列 是 'a' ,通道是用的默认通道。。其他的就没有配置 为什么提示tcp通信出错啊;

    parseArgs(args);
参与42

41同行回答

shijinbiaoshijinbiao软件开发工程师江苏润和软件
报2009,错误的原因有很多,请先看下MQ队列管理器的错误日志,一般情况下,如果代码中连接MQ的参数写错,会报2058或者2059.显示全部
报2009,错误的原因有很多,请先看下MQ队列管理器的错误日志,
一般情况下,如果代码中连接MQ的参数写错,会报2058或者2059.收起
互联网服务 · 2013-12-26
浏览2229
a825460470a825460470软件开发工程师sdzx
回复 19# liushaoyi     监听器是系统默认的 启动了  防火墙 关闭了  mq的包我都导进去了,没有报错。我想问一下。他说tcp通信错误是什么意思啊?显示全部
回复 19# liushaoyi


    监听器是系统默认的 启动了  防火墙 关闭了  mq的包我都导进去了,没有报错。我想问一下。他说tcp通信错误是什么意思啊?收起
IT其它 · 2013-12-26
浏览2618
a825460470a825460470软件开发工程师sdzx
回复 17# liushaoyi     昨天的问题还是有的,请问您发现什么错误了么显示全部
回复 17# liushaoyi


    昨天的问题还是有的,请问您发现什么错误了么收起
IT其它 · 2013-12-26
浏览2598
liushaoyiliushaoyi技术经理华润
不是java代码的原因,你要检查其他问题,比如:你检查了监听器启动了没有?有没有开启防火墙?java程序引用的jar包与你连接的MQ是否一致?显示全部
不是java代码的原因,你要检查其他问题,比如:
你检查了监听器启动了没有?
有没有开启防火墙?
java程序引用的jar包与你连接的MQ是否一致?收起
互联网服务 · 2013-12-26
浏览2633
a825460470a825460470软件开发工程师sdzx
回复 17# liushaoyi     我改成实际的ip了 还是这个错误。MQJE001: 完成代码为“2”,原因为“2009”。初使化MQ出错com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2009”。        at com.ibm.mq.MQManagedConnectionJ11.(MQMa...显示全部
回复 17# liushaoyi


    我改成实际的ip了 还是这个错误。

MQJE001: 完成代码为“2”,原因为“2009”。
初使化MQ出错
com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2009”。
        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:235)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:505)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:547)
        at com.ibm.mq.StoredManagedConnection.(StoredManagedConnection.java:95)
        at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:182)
        at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:869)
        at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:761)
        at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:712)
        at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:171)
        at com.ibm.mq.MQQueueManager.(MQQueueManager.java:597)
        at com.mq.sar.MessageByMQ.(MessageByMQ.java:30)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9204: 与主机 '192.168.1.142(1414)' 的连接被拒绝。 [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]],3=192.168.1.142(1414),5=RemoteTCPConnection.receive]
        at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1809)
        at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:915)
        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:224)
        ... 12 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1333)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.receiveTSH(RemoteConnection.java:2770)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.initSess(RemoteConnection.java:1399)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.connect(RemoteConnection.java:1078)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnectionPool.getConnection(RemoteConnectionPool.java:338)
        at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1488)
        ... 14 more
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:197)
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1324)
        ... 19 more
MQJE001: 完成代码为“2”,原因为“2009”。
java.lang.NullPointerException
        at com.mq.sar.MessageByMQ.sendMessage(MessageByMQ.java:71)
        at com.mq.sar.MessageByMQ.main(MessageByMQ.java:79)
A WebSphere MQ error occurred : Completion code收起
IT其它 · 2013-12-25
浏览2710
liushaoyiliushaoyi技术经理华润
你把localhost改为127.0.0.1没意义,要用真正的IP,你再试试。如果还不行那就是你哪个参数不正确,比如端口、通道。显示全部
你把localhost改为127.0.0.1没意义,要用真正的IP,你再试试。
如果还不行那就是你哪个参数不正确,比如端口、通道。收起
互联网服务 · 2013-12-25
浏览2597
a825460470a825460470软件开发工程师sdzx
回复 15# liushaoyi     MQJE001: 完成代码为“2”,原因为“2009”。初使化MQ出错com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2009”。        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:235)&nb...显示全部
回复 15# liushaoyi


    MQJE001: 完成代码为“2”,原因为“2009”。
初使化MQ出错
com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2009”。
        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:235)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:505)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:547)
        at com.ibm.mq.StoredManagedConnection.(StoredManagedConnection.java:95)
        at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:182)
        at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:869)
        at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:761)
        at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:712)
        at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:171)
        at com.ibm.mq.MQQueueManager.(MQQueueManager.java:597)
        at com.mq.sar.MessageByMQ.(MessageByMQ.java:30)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9204: 与主机 '127.0.0.1(1414)' 的连接被拒绝。 [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]],3=127.0.0.1(1414),5=RemoteTCPConnection.receive]
        at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1809)
        at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:915)
        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:224)
        ... 12 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1333)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.receiveTSH(RemoteConnection.java:2770)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.initSess(RemoteConnection.java:1399)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.connect(RemoteConnection.java:1078)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnectionPool.getConnection(RemoteConnectionPool.java:338)
        at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1488)
        ... 14 more
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:197)
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1324)
        ... 19 more
A WebSphere MQ error occurred : Completion code MQJE001: 完成代码为“2”,原因为“2009”。

java.lang.NullPointerException
        at com.mq.sar.MessageByMQ.sendMessage(MessageByMQ.java:71)
        at com.mq.sar.MessageByMQ.main(MessageByMQ.java:79)
import java.io.IOException;  
import com.ibm.mq.MQC;  
import com.ibm.mq.MQEnvironment;  
import com.ibm.mq.MQException;  
import com.ibm.mq.MQMessage;  
import com.ibm.mq.MQPutMessageOptions;  
import com.ibm.mq.MQQueue;  
import com.ibm.mq.MQQueueManager;  
  
public class MessageByMQ{   
    //定义队列管理器和队列的名称   
    private static String qmName;   
    private static String qName;   
    private static MQQueueManager qMgr;   
    static{   
        //设置环境:   
        //MQEnvironment中包含控制MQQueueManager对象中的环境的构成的静态变量,MQEnvironment的值的设定会在MQQueueManager的构造函数加载的时候起作用,   
        //因此必须在建立MQQueueManager对象之前设定MQEnvironment中的值.   
        MQEnvironment.hostname="127.0.0.1";          //MQ服务器的IP地址         
        MQEnvironment.channel="SYSTEM.ADMIN.SVRCONN";              //服务器连接的通道   
        MQEnvironment.CCSID=1208;                      //服务器MQ服务使用的编码1381代表GBK、1208代表UTF(Coded Character Set Identifier:CCSID)   
        MQEnvironment.port=1414;                       //MQ端口   
        qmName = "aaa";                          //MQ的队列管理器名称   
        qName = "a";                               //MQ远程队列的名称   
        try {   
            //定义并初始化队列管理器对象并连接   
            //MQQueueManager可以被多线程共享,但是从MQ获取信息的时候是同步的,任何时候只有一个线程可以和MQ通信。   
           qMgr = new MQQueueManager(qmName);   
       } catch (Exception e) {   
           // TODO Auto-generated catch block   
           System.out.println("初使化MQ出错");   
           e.printStackTrace();   
       }   
    }

public static int sendMessage(String message){   
        int result=0;   
        try{      
            //设置将要连接的队列属性   
            // Note. The MQC interface defines all the constants used by the WebSphere MQ Java programming interface   
            //(except for completion code constants and error code constants).   
            //MQOO_INPUT_AS_Q_DEF:Open the queue to get messages using the queue-defined default.   
            //MQOO_OUTPUT:Open the queue to put messages.   
            /*目标为远程队列,所有这里不可以用MQOO_INPUT_AS_Q_DEF属性*/  
            //int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;   
            /*以下选项可适合远程队列与本地队列*/  
            int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;   
            //连接队列   
            //MQQueue provides inquire, set, put and get operations for WebSphere MQ queues.   
            //The inquire and set capabilities are inherited from MQManagedObject.   
            /*关闭了就重新打开*/  
           if(qMgr==null || !qMgr.isConnected()){   
               qMgr = new MQQueueManager(qmName);   
           }   
            MQQueue queue = qMgr.accessQueue(qName, openOptions);            
            //定义一个简单的消息   
            MQMessage putMessage = new MQMessage();   
            //将数据放入消息缓冲区   
            putMessage.writeUTF(message);     
            //设置写入消息的属性(默认属性)   
            MQPutMessageOptions pmo = new MQPutMessageOptions();              
            //将消息写入队列   
            queue.put(putMessage,pmo);   
            queue.close();   
        }catch (Exception ex) {   
            System.out.println("A WebSphere MQ error occurred : Completion code ")    ;   
        }finally{   
            try {   
               qMgr.disconnect();   
           } catch (Exception e) {   
               e.printStackTrace();   
           }   
         }   
        return result;   
   }
public static void main(String[] args) {
        MessageByMQ.sendMessage("sdfdsf");
}
}
还是2009收起
IT其它 · 2013-12-25
浏览2626
liushaoyiliushaoyi技术经理华润
首先把你的hostname改为IP,然后再试下这段代码看能不能连接上:public class MessageByMQ{        //定义队列管理器和队列的名称        private static String qmName;        &nb...显示全部
首先把你的hostname改为IP,然后再试下这段代码看能不能连接上:

public class MessageByMQ{   
     //定义队列管理器和队列的名称   
     private static String qmName;   
     private static String qName;   
     private static MQQueueManager qMgr;   
     static{   
         //设置环境:   
         //MQEnvironment中包含控制MQQueueManager对象中的环境的构成的静态变量,MQEnvironment的值的设定会在MQQueueManager的构造函数加载的时候起作用,   
         //因此必须在建立MQQueueManager对象之前设定MQEnvironment中的值.   
         MQEnvironment.hostname="192.168.0.240";          //MQ服务器的IP地址         
         MQEnvironment.channel="SYSTEM.ADMIN.SVRCONN";              //服务器连接的通道   
         MQEnvironment.CCSID=1208;                      //服务器MQ服务使用的编码1381代表GBK、1208代表UTF(Coded Character Set Identifier:CCSID)   
         MQEnvironment.port=1414;                       //MQ端口   
         qmName = "aaa";                          //MQ的队列管理器名称   
         qName = "a";                               //MQ远程队列的名称   
         try {   
             //定义并初始化队列管理器对象并连接   
             //MQQueueManager可以被多线程共享,但是从MQ获取信息的时候是同步的,任何时候只有一个线程可以和MQ通信。   
            qMgr = new MQQueueManager(qmName);   
        } catch (Exception e) {   
            // TODO Auto-generated catch block   
            System.out.println("初使化MQ出错");   
            e.printStackTrace();   
        }   
     }

public static int sendMessage(String message){   
         int result=0;   
         try{      
             //设置将要连接的队列属性   
             // Note. The MQC interface defines all the constants used by the WebSphere MQ Java programming interface   
             //(except for completion code constants and error code constants).   
             //MQOO_INPUT_AS_Q_DEF:Open the queue to get messages using the queue-defined default.   
             //MQOO_OUTPUT:Open the queue to put messages.   
             /*目标为远程队列,所有这里不可以用MQOO_INPUT_AS_Q_DEF属性*/  
             //int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;   
             /*以下选项可适合远程队列与本地队列*/  
             int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;   
             //连接队列   
             //MQQueue provides inquire, set, put and get operations for WebSphere MQ queues.   
             //The inquire and set capabilities are inherited from MQManagedObject.   
             /*关闭了就重新打开*/  
            if(qMgr==null || !qMgr.isConnected()){   
                qMgr = new MQQueueManager(qmName);   
            }   
             MQQueue queue = qMgr.accessQueue(qName, openOptions);            
             //定义一个简单的消息   
             MQMessage putMessage = new MQMessage();   
             //将数据放入消息缓冲区   
             putMessage.writeUTF(message);     
             //设置写入消息的属性(默认属性)   
             MQPutMessageOptions pmo = new MQPutMessageOptions();              
             //将消息写入队列   
             queue.put(putMessage,pmo);   
             queue.close();   
         }catch (Exception ex) {   
             System.out.println("A WebSphere MQ error occurred : Completion code ")    ;   
         }finally{   
             try {   
                qMgr.disconnect();   
            } catch (Exception e) {   
                e.printStackTrace();   
            }   
          }   
         return result;   
     }收起
互联网服务 · 2013-12-25
浏览2806
a825460470a825460470软件开发工程师sdzx
回复 13# liushaoyi    我又找到了普通链接mq的 发现也出这个错误,但是输出里详细信息MQJE001: 完成代码为“2”,原因为“2009”。com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2009”。        at com.ibm.mq.MQManagedConnec...显示全部
回复 13# liushaoyi


   我又找到了普通链接mq的 发现也出这个错误,但是输出里详细信息
MQJE001: 完成代码为“2”,原因为“2009”。
com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2009”。
        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:235)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:505)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:547)
        at com.ibm.mq.StoredManagedConnection.(StoredManagedConnection.java:95)
        at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:182)
        at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:869)
        at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:761)
        at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:712)
        at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:171)
        at com.ibm.mq.MQQueueManager.(MQQueueManager.java:597)
        at com.mq.sar.SendMQ.run(SendMQ.java:32)
        at java.lang.Thread.run(Thread.java:801)
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9204: 与主机 'localhost(1414)' 的连接被拒绝。 [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]],3=localhost(1414),5=RemoteTCPConnection.receive]
        at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1809)
        at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:915)
        at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:224)
        ... 11 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: 'TCP'的通信出错。 [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1333)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.receiveTSH(RemoteConnection.java:2770)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.initSess(RemoteConnection.java:1399)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.connect(RemoteConnection.java:1078)
        at com.ibm.mq.jmqi.remote.internal.system.RemoteConnectionPool.getConnection(RemoteConnectionPool.java:338)
        at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1488)
        ... 13 more
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:197)
        at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.receive(RemoteTCPConnection.java:1324)
        ... 18 more
package com.mq.sar;


import java.io.IOException;  
import com.ibm.mq.MQC;  
import com.ibm.mq.MQEnvironment;  
import com.ibm.mq.MQException;  
import com.ibm.mq.MQMessage;  
import com.ibm.mq.MQPutMessageOptions;  
import com.ibm.mq.MQQueue;  
import com.ibm.mq.MQQueueManager;  
  
public class SendMQ implements Runnable {  
    private static final String MQ_MANAGER = "aaa";  
    private static final String MQ_HOST_NAME = "localhost";  
    private static final String MQ_CHANNEL = "serconn";  
    private static final String MQ_QUEUE_NAME = "a";  
    private static final int MQ_PROT = 1414;  
    private static final int MQ_CCSID = 819;  
  
    public void run() {  
        MQQueueManager mqQueueManager = null;  
        MQQueue mqQueue = null;  
        try {  
            MQEnvironment.addConnectionPoolToken();  
            MQEnvironment.hostname = MQ_HOST_NAME;  
            MQEnvironment.channel = MQ_CHANNEL;  
            MQEnvironment.port = MQ_PROT;  
            MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);  
            MQEnvironment.CCSID = MQ_CCSID;  
            int sendOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;  
            mqQueueManager = new MQQueueManager(MQ_MANAGER);  
            mqQueue = mqQueueManager.accessQueue(MQ_QUEUE_NAME, sendOptions, null, null, null);  
            MQPutMessageOptions mqPutMessageOptions = new MQPutMessageOptions();  
            MQMessage mqMessage = null;  
            String putMessage = "test";  
            mqMessage = new MQMessage();  
            mqMessage.format = MQC.MQFMT_STRING;  
            mqMessage.write(putMessage.getBytes());  
            mqQueue.put(mqMessage, mqPutMessageOptions);  
        } catch (MQException e) {  
            e.printStackTrace();  
        } catch (IOException e1) {  
            e1.printStackTrace();  
        } finally {  
            if (mqQueue != null) {  
                try {  
                    mqQueue.close();  
                } catch (MQException e) {  
                    e.printStackTrace();  
                }  
            }  
            if (mqQueueManager != null) {  
                try {  
                    mqQueueManager.close();  
                } catch (MQException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    }  
  
    public static void main(String arg[]) {  
            SendMQ client = new SendMQ();  
        Thread mqClientThread = new Thread(client);  
        mqClientThread.start();  
    }  
}  
这个是mq的qpi收起
IT其它 · 2013-12-25
浏览2819
liushaoyiliushaoyi技术经理华润
这个触发器只能由MQ根据条件触发显示全部
这个触发器只能由MQ根据条件触发收起
互联网服务 · 2013-12-25
浏览2644

提问者

a825460470
软件开发工程师sdzx

相关问题

相关资料

问题状态

  • 发布时间:2013-12-25
  • 关注会员:1 人
  • 问题浏览:37782
  • 最近回答:2014-04-12
  • X社区推广