• IBM MQ


    IBM MQ调用相关API

    package com.baoshangbank2;
    
    import java.io.IOException;
    import java.util.stream.Collector.Characteristics;
    
    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;
    import com.ibm.mq.constants.CMQC;
    
    public class MQClient2 {
    
        static MQQueueManager qmanager;
        
        static final String HOSTNAME = "198.1.242.72"; // MQ HOST
        static final String CHANNEL = "SVR_CHL_CORE"; // MQ通道
        static final int CCSID = 819; //
        static final int PORT = 10011; // MQ端口
        static final int MQ_EXPIRE = 600;
        static final String CORE_QMC = "QM_CORE_TO_TFBS"; // MQ资源管理器
        static final String CORE_ONSEND_QU = "LQ_CORE_REQ"; // 发送队列
        static final String ORE_ONRECV_QUE = "RQ_CORE_RES"; // 接收队列
        static byte[] token;
        
        public static void main(String[] args) throws MQException, IOException, InterruptedException, ClassNotFoundException {
            conn();
            sendMsg();
            receiveMsg();
            
            
        }
        /**
         * MQ 开启链接
         * @throws MQException
         */
        public static void conn() throws MQException {
            
            MQEnvironment.hostname = HOSTNAME;
            MQEnvironment.channel = CHANNEL;
            MQEnvironment.CCSID = CCSID;
            MQEnvironment.port = PORT;
            qmanager = new MQQueueManager(CORE_QMC);
            
        }
        /**
         * 发送消息
         * @throws MQException
         * @throws IOException
         */
        public static void sendMsg() throws MQException, IOException {
            MQQueue inputQueue = null;
            
            try {
                inputQueue = qmanager.accessQueue(CORE_ONSEND_QU, CMQC.MQOO_INQUIRE | CMQC.MQOO_OUTPUT | CMQC.MQOO_INPUT_AS_Q_DEF);
                MQMessage inputMQMessage = new MQMessage();
                inputMQMessage.characterSet = CCSID;
                inputMQMessage.encoding = CCSID;
                inputMQMessage.expiry = MQ_EXPIRE;
                MQPutMessageOptions mqp = new MQPutMessageOptions();
                System.out.println("Flags:"+inputMQMessage.messageFlags);
                inputMQMessage.writeUTF(getXML());
                inputQueue.put(inputMQMessage,mqp);
            }finally {
                if(inputQueue != null) {
                    inputQueue.close();
                }
            }
        }
        /**
         * 接收消息
         * @throws MQException
         * @throws IOException
         * @throws ClassNotFoundException 
         */
        public static void receiveMsg() throws MQException, IOException, ClassNotFoundException {
            MQQueue receiveQueue = null;
            try {
                receiveQueue = qmanager.accessQueue(CORE_ONSEND_QU, CMQC.MQOO_INQUIRE | CMQC.MQOO_OUTPUT | CMQC.MQOO_INPUT_AS_Q_DEF);
                //MQGetMessageOptions gmo = new MQGetMessageOptions();
                MQMessage outputMsg = new MQMessage();
                //outputMsg.messageId = token;
                outputMsg.expiry = MQ_EXPIRE;
                System.err.println("队列深度:"+receiveQueue.getCurrentDepth());
                if(receiveQueue.getCurrentDepth() != 0) {
                    receiveQueue.get(outputMsg);
                    System.out.println(outputMsg.readUTF());
                }
            }finally {
                if(receiveQueue != null) {                                                
                    receiveQueue.close();
                }
            }
        }
        public static String getXML() {
            String xml = "<?xml version=1.0 encoding=GB18030?>";
            xml +="<CUST_NAME>MQ测试用户</CUST_NAME>";
            xml +="<CUST_GENDER>1</CUST_GENDER>";
            xml +="<ID_TYPE>10100</ID_TYPE>";
            xml +="<ID_NO>130983200001011357</ID_NO>";
            xml +="<DUE_DATE>30000101</DUE_DATE>";
            xml +="<ID_INST>北京朝阳公安局</ID_INST>";
            xml +="<NATION>156</NATION>";
            xml +="<ETHNIC>01</ETHNIC>";
            xml +="<OCCUPATION>00000</OCCUPATION>";
            xml +="<CUST_MOBILE>13800138000</CUST_MOBILE>";
            return xml;
        }
        
    }
    View Code
  • 相关阅读:
    堆排序
    理解KMP算法
    C++性能提升
    论文阅读 | Pre-trained Models for Natural Language Processing: A Survey
    模型融合
    论文阅读 | COMPRESSING BERT: STUDYING THE EFFECTS OF WEIGHT PRUNING ON TRANSFER LEARNING
    论文阅读 | Compressing Large-Scale Transformer-Based Models: A Case Study on BERT
    沉淀再出发:关于netty的一些理解和使用
    沉淀再出发:mongodb的使用
    沉淀再出发:ElasticSearch的中文分词器ik
  • 原文地址:https://www.cnblogs.com/wujianbo123/p/12112241.html
Copyright © 2020-2023  润新知