mq安装目录下有简单的发送和接收代码,具体在samp目录下有一些不同语言的源代码,可以借鉴。
类介绍:
SendMSG:消息发送类。
Main():主方法。
SendMSG():消息发送方法。
方法描述:
public SendMSG() {
MQEnvironment.hostname = "192.168.10.201";
// 通道类型为服务器连接通道
MQEnvironment.channel = "tongdao";
MQEnvironment.CCSID = 1381;
//消息队列端口号
MQEnvironment.port=10618;
try {
// 建立队列管理器QM_SERVER为队列管理器名称
qMgr = new MQQueueManager("test");
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
|MQC.MQOO_INQUIRE;
//建立队列 INITQ队列名称 INITQ为本地队列
MQQueuequeue = qMgr.accessQueue("wanghui", openOptions,
null, null, null);
System.out.println("成功建立通道");
MQMessagemessage = new MQMessage();
message.format = MQC.MQFMT_STRING;
message.characterSet = 1381;
message.writeString("王辉");
message.expiry = -1; // 设置消息用不过期
queue.put(message);// 将消息放入队列
queue.close();// 关闭队列
qMgr.disconnect(); // 断开连接
} catch (EOFException e) {
e.printStackTrace();
} catch (MQException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
ReceiveMSG:消息接收类。
Main():主方法。
ReceiveMSG():消息接收方法。
public ReceiveMSG() {
MQEnvironment.hostname = "192.168.10.201";
// 通道类型为服务器连接通道
MQEnvironment.channel = "tongdao";
MQEnvironment.CCSID = 1381;
MQEnvironment.port=10618;
try {
// 建立队列管理器QM_SERVER为队列管理器名称
qMgr = new MQQueueManager("test");
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
|MQC.MQOO_INQUIRE;
//建立队列 INITQ队列名称 INITQ为本地队列
MQQueuequeue = qMgr.accessQueue("wanghui", openOptions,
null, null, null);
System.out.println("成功建立通道");
MQMessagemessage = new MQMessage();
message.format = MQC.MQFMT_STRING;
message.characterSet = 1381;
// 从队列中获取消息
MQGetMessageOptionspmo = new MQGetMessageOptions();
queue.get(message,pmo);
Stringchars=message.readLine();
System.out.println(chars);
queue.close();// 关闭队列
qMgr.disconnect(); // 断开连接
} catch (EOFException e) {
e.printStackTrace();
} catch (MQException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
收起