WebSphereMQ发送消息和读取消息
来源:互联网 发布:客户信息管理系统 软件 编辑:程序博客网 时间:2024/05/19 08:03
1.webspheremq发送消息
package com.wsmq;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;/** * 发送消息程序 * @author suyunlong * */public class Send {@SuppressWarnings({ "deprecation", "unchecked" })public static void main(String[] args) {try {// 主机名称String hostName="192.9.201.150";// 端口(缺省 1414)int port=1414;// 通道名称(缺省)String channel="DC.SVRCONN";// 队列管理器名称String qManager="QM_00000000";// 队列名称 (远程队列名)String qName="RQ_88888888";// 建立MQEnvironment 属性以便客户机连接.MQEnvironment.CCSID=1381;MQEnvironment.hostname=hostName; MQEnvironment.port=port; MQEnvironment.channel=channel; MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES); // 连接到队列管理器. MQQueueManager qMgr=new MQQueueManager(qManager); /** * 建立打开选项以便打开用于输出的队列,进一步而言,如果队列管理器是 * 停顿的话,我们也已设置了选项去应对不成功情况. */ int openOptions=MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING; // 打开队列. MQQueue queue=qMgr.accessQueue(qName, openOptions, null, null,null); // 设置放置消息选项我们将使用默认设置. MQPutMessageOptions pmo=new MQPutMessageOptions(); /** * 下一步我们建立消息,MQMessage类压缩了包含实际消息数据的数据缓冲区, * 和描述消息的所有MQMD 参数. * 欲建立新消息,创建MQMessage类新实例以及使用writxxx(我们将使用writeString 方法.). * MQQueue 的put()方法也可作为参数MQPutMessageOptions 类的实例. */ // 创建消息缓冲区. MQMessage outMsg=new MQMessage(); outMsg.encoding=1381; outMsg.characterSet=1381; // 设置MQMD 格式字段. outMsg.format=MQC.MQFMT_STRING; // 准备用户数据消息. String msgString="有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。"; // 现在我们在队列上放置消息. outMsg.writeString(msgString); // 提交事务处理. queue.put(outMsg, pmo); qMgr.commit(); System.out.println(" The message has been Sussesfully put/n/n#########"); // 关闭队列和队列管理器对象. queue.close(); qMgr.disconnect();} catch(MQException ex) {System.out.println("An MQ Error Occurred: Completion Code is :" +ex.completionCode+" The Reason Code is :"+ex.reasonCode);ex.printStackTrace();} catch(Exception e) {System.out.println(e.getMessage());e.printStackTrace();}}}
2.webspheremq接收消息
package com.wsmq;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;/** * 消息接收器应用程序 * 调入MQSeries Java API package * 为客户机连接设置环境属性 * 连接到队列管理器 * 为打开MQSeries 队列设置选项 * 为获取消息打开应用程序 * 设置选项,从应用程序队列获取消息 * 创建消息缓冲区 * 从队列获取消息到消息缓冲区 * 从消息缓冲区读取用户数据并在控制台上显示 */public class Receiver {@SuppressWarnings({ "deprecation", "unchecked" })public static void PtpReceiver() {try {// 主机名称String hostName="192.9.201.145";// 端口(缺省 1414)int port=1414;// 通道名称(缺省)String channel="DC.SVRCONN";// 队列管理器名称String qManager="QM_00000000";// 队列名称 (本地对列名)String qName="LQ_00000000";// 建立MQEnvironment 属性以便客户机连接MQEnvironment.hostname=hostName;MQEnvironment.port=port;MQEnvironment.channel=channel;MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES);MQEnvironment.CCSID=1381; // 连接到队列管理器.MQQueueManager qMgr=new MQQueueManager(qManager);/** * 建立打开选项以便打开用于输出的队列, * 进一步而言,如果队列管理器是停顿的话,我们也 * 已设置了选项去应对不成功情况. */// 打开队列.int openOptions=MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_INQUIRE|MQC.MQOO_FAIL_IF_QUIESCING;// 设置放置消息选项.MQQueue queue=qMgr.accessQueue(qName, openOptions, null, null, null);if(queue.getCurrentDepth()>0){MQGetMessageOptions gmo=new MQGetMessageOptions();// 在同步点控制下获取消息.gmo.options=gmo.options + MQC.MQGMO_SYNCPOINT;// 如果在队列上没有消息则等待.gmo.options=gmo.options + MQC.MQGMO_WAIT;// 如果队列管理器停顿则失败.gmo.options=gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING;// 设置等待的时间限制.gmo.waitInterval=3000;/** * 下一步我们建立消息,MQMessage * 类压缩了包含实际消息数据的数据缓冲区, * 和描述消息的所有MQMD 参数. */// 创建消息缓冲区.MQMessage inMsg=new MQMessage();// 从队列到消息缓冲区获取消息.queue.get(inMsg, gmo);// 从消息读取用户数据.String msgString=inMsg.readStringOfByteLength(inMsg.getMessageLength());// 控制台输出System.out.println("The Message from the Queue is :"+msgString);}// 提交事务处理.qMgr.commit();// 关闭队列和队列管理器对象.queue.close();qMgr.disconnect();} catch(MQException ex) {System.out.println("An MQ Error Occurred: Completion Code is :" +ex.completionCode + " The Reason Code is :" + ex.reasonCode);ex.printStackTrace();} catch(Exception e) {System.out.println(e.getMessage());e.printStackTrace();}}/** * @param args */public static void main(String[] args) {PtpReceiver();}}
0 0
- WebSphereMQ发送消息和读取消息
- WebSphereMq使用JMS发送消息和接收消息
- 消息中间件与WebsphereMQ入门
- c# 使用udp发送和读取消息
- java DategramSocker发送消息和接收消息
- ActiveMQ 发送消息和接收消息 Demo
- kafka消息发送和消息接受
- 定义和发送自定义消息
- ActiveMQ消息发送和接收
- ActiveMQ消息发送和接收
- Unity 广播和发送消息
- ActiveMQ消息发送和接收
- C#发送和接收消息
- 消息发送
- 发送消息
- 发送消息
- stm32基于Ucos消息队列的空闲中断信息读取储存和发送
- 进程间传递消息(发送和接收系统消息)
- 磁带机故障灯解决方法
- 多线程作加法计算
- 《工业4.0时代?!》
- Jquery背景图片轮换
- 107 代码约束 VFL语言
- WebSphereMQ发送消息和读取消息
- ListView删除Item后,自动刷新adapter
- Mysql log参数
- iOS开发-自动消失的弹出框
- Android 的启动模式
- extjs 3.x简单的异步树 并实现展开时重新加载数据的实现
- 语录
- <蓝牙BLE>关于cc2540Flash断电保存的操作
- DatePicker日期输入控件