• java连接ibm mq


    首先 打开 IBM websphere MQ 管理器 添加一个队列管理器 名称 叫MyTest

    在队列管理气中的队列文件夹下 新建一个本地队列名称叫 LOCALQUEUE

    在高级-》通道 下新建一个服务器连接通道 名称叫:SERVERCONN

    在mytest右键 属性 查看编码字符集标识  中文默认在window下是 1381

    在高级-》侦听器下查看连接的端口 默认是:1414

    编写代码:


    package com.mq;


    import com.ibm.mq.MQC;
    import com.ibm.mq.MQEnvironment;
    import com.ibm.mq.MQException;
    import com.ibm.mq.MQGetMessageOptions;
    import com.ibm.mq.MQMessage;
    import com.ibm.mq.MQPutMessageOptions;
    import com.ibm.mq.MQQueue;
    import com.ibm.mq.MQQueueManager;


    public class TestMQ {
    static MQQueueManager qMgr;
    static int CCSID=1381 ;
    static String queueString="LOCALQUEUE";
    public static void connect() throws MQException {
    MQEnvironment.hostname = "127.0.0.1";
    MQEnvironment.channel = "SERVERCONN";
    MQEnvironment.port = 1414;
    MQEnvironment.CCSID = CCSID;

    qMgr = new MQQueueManager("myTest");


    }
    public static void sendMsg(String msgStr){   
            int openOptions = MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE;   
            MQQueue queue = null;   
            try {   
                //建立Q1通道的连接   
                queue = qMgr.accessQueue(queueString, openOptions, null, null,null);     
                MQMessage msg = new MQMessage();// 要写入队列的消息   
                msg.format = MQC.MQFMT_STRING;   
                msg.characterSet = CCSID;
                msg.encoding=CCSID;
               // msg.writeObject(msgStr); //将消息写入消息对象中   
                msg.writeString(msgStr);
                MQPutMessageOptions pmo = new MQPutMessageOptions();   
                msg.expiry = -1;    // 设置消息用不过期   
                queue.put(msg, pmo);// 将消息放入队列   
            } catch (Exception e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }finally{   
                if(queue!=null){   
                    try {   
                        queue.close();   
                    } catch (MQException e) {   
                        // TODO Auto-generated catch block   
                        e.printStackTrace();   
                    }   
                }   
            }   
        }   
           
        public static void receiveMsg()   
        {   
            int openOptions = MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE;   
            MQQueue queue = null;   
            try {   
                queue = qMgr.accessQueue(queueString, openOptions, null, null,null);   
                System.out.println("该队列当前的深度为:"+queue.getCurrentDepth());   
                System.out.println("===========================");   
                int depth = queue.getCurrentDepth();   
                //将队列的里的消息读出来   
                while(depth-->0)   
                {   
                    MQMessage msg = new MQMessage();// 要读的队列的消息   
                    MQGetMessageOptions gmo = new MQGetMessageOptions();   
                    queue.get(msg, gmo);   
                    System.out.println("消息的大小为:"+msg.getDataLength());   
                    System.out.println("消息的内容:\n"+msg.readStringOfByteLength(msg.getDataLength()));   
                    System.out.println("---------------------------");   
                }   
            } catch (Exception e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }finally{   
                if(queue!=null){   
                    try {   
                        queue.close();   
                    } catch (MQException e) {   
                        // TODO Auto-generated catch block   
                        e.printStackTrace();   
                    }   
                }   
            }   
        }   


    public static void main(String[] args) throws MQException {
    connect();
    sendMsg("fuck 你大爷的");
    receiveMsg();
    }
    }


  • 相关阅读:
    JavaScript词法结构
    【python】类变量、实例变量
    把pandas dataframe转为list方法
    list 删除一个元素的三种做法--python
    Web.config中rewite 节点引起的500.19错误
    extjs让按钮可用或者不可用
    VS2010启动奔溃
    迟来的年终总结
    Nginx配置多个server
    RestSharp的简单用法
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331408.html
Copyright © 2020-2023  润新知