IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。

  1. 解压安装包
  2. 双击exe进入安装界面

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第1张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第2张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第3张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第4张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第5张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第6张图片

出现此页面

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第7张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第8张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第9张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第10张图片       点击完成会自动弹出IBM MQ资源管理器

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第11张图片

1.右键新增队列管理器,端口默认为1414

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第12张图片

2.新建本地队列

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第13张图片

3.新建服务器连接通道

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第14张图片

这样配置就完成了,可以通过JAVA代码来进行调试了

导入所需jar包


   
com.ibm.mq
   
com.ibm.mq.allclient
   
9.2.0.1

测试代码

package com.ibmmq.demo;

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
IBMMQProducerTest {

   
static MQQueueManager qMgr;
    static int
CCSID = 1381;
    static
String queueString = "QUEUE";

    public static void
connect() throws MQException {
        MQEnvironment.
hostname = "127.0.0.1";
       
MQEnvironment.channel = "CHANNEL";
       
MQEnvironment.port = 1414;
       
MQEnvironment.CCSID = CCSID;
       
//MQ中拥有权限的用户名
       
MQEnvironment.userID = "MUSR_MQADMIN";
       
//用户名对应的密码
       
MQEnvironment.password = "123456";

       
qMgr = new MQQueueManager("TEST");

   
}

   
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);
           
// msg.writeObject(msgStr); //将消息写入消息对象中

           
for (int i = 0; i < 100; i++) {
                com.ibm.mq.MQMessage msg =
new MQMessage();// 要写入队列的消息
               
msg.format = MQC.MQFMT_STRING;
               
msg.characterSet = CCSID;
               
msg.encoding = CCSID;
               
msg.writeString(msgStr+i);

               
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 main(String[] args) throws MQException {
        connect()
;
       
sendMsg("test:");
   
}
}

package com.ibmmq.demo;

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.MQQueue;
import
com.ibm.mq.MQQueueManager;

public class
IBMMQConsumerTest {

   
static MQQueueManager qMgr;
    static int
CCSID = 1381;
    static
String queueString = "QUEUE";

    public static void
connect() throws MQException {
        MQEnvironment.
hostname = "127.0.0.1";
       
MQEnvironment.channel = "CHANNEL";
       
MQEnvironment.port = 1414;
       
MQEnvironment.CCSID = CCSID;
       
//MQ中拥有权限的用户名
       
MQEnvironment.userID = "MUSR_MQADMIN";
       
//用户名对应的密码
       
MQEnvironment.password = "123456";

       
qMgr = new MQQueueManager("TEST");

   
}
   
static int number = 0;
    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);
            long
startTime = System.currentTimeMillis();
            for
(; ; ) {
                System.
out.println("该队列当前的深度为:" + queue.getCurrentDepth());
               
System.out.println("===========================");
                int
depth = queue.getCurrentDepth();
               
// 将队列的里的消息读出来
               
while (depth-- > 0) {
                   
number++;
                   
com.ibm.mq.MQMessage msg = new MQMessage();// 要读的队列的消息
                   
MQGetMessageOptions gmo = new MQGetMessageOptions();
                   
queue.get(msg, gmo);
                   
System.out.println(""+number+"条消息消息的大小为:" + msg.getDataLength());
                   
System.out.println("消息的内容:\n" + msg.readStringOfByteLength(msg.getDataLength()));
                   
System.out.println("---------------------------");
               
}
               
if (depth == -1) {
                   
long end = System.currentTimeMillis();
                   
System.out.println("=============暂停,耗时:" + (end - startTime) / 1000.0);
               
}
                Thread.sleep(
3000);
           
}

        }
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()
;
       
receiveMsg();
   
}

}

第一次运行可能会报错,如图

com.ibm.mq.MQException: MQJE001: 完成代码为“2”,原因为“2035”。

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第15张图片

可以查看有没有默认用户

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第16张图片

右键账户设置密码,我这里设置为123456

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第17张图片

服务中找到ibm,右键属性

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第18张图片

还需要取消权限验证

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第19张图片

也可以通过cmd操作

runmqsc MyTest

alter qmgr chlauth(disabled)

alter qmgr chlauth(enabled)

重新启动即可,这是就可以正常接收发送了

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第20张图片

IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。_第21张图片

你可能感兴趣的:(MQ,java,java,服务器,开发语言)