已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统实施计划WebsphereMQ6.0-配置与C#编程(刘杰峰,20120111)WebsphereMQ6.0-配置与C#编程11、常用命令12、MQSeries命令23、配置要求44、QM1和QM2的配置44.1、配置过程44.2、配置后的结果54.3、测试验证55、C#代码61、 常用命令MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。介绍其基本的操作方法。创建队列管理器crtmqm q QMgrName-q是指创建缺省的队列管理器删除队列管理器dltmqm QmgrName启动队列管理器strmqm QmgrName如果是启动默认的队列管理器,可以不带其名字停止队列管理器endmqm QmgrName 受控停止endmqm i QmgrName 立即停止endmqm p QmgrName 强制停止显示队列管理器dspmq m QmgrName运行MQSeries命令runmqsc QmgrName如果是默认队列管理器,可以不带其名字,其命令很多,常用的参考MQSeries命令。往队列中放消息amqsput QName QmgrName如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字从队列中取出消息amqsget QName QmgrName如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字启动通道runmqchl c ChlName m QmgrName启动侦听runmqlsr t TYPE p PORT m QMgrName停止侦听endmqlsr -m QmgrName2、 MQSeries命令退出END定义本地队列DEFINE QL(QNAME) REPLACE定义别名队列DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)远程队列定义DEFINE QREMOTE(QRNAME)RNAME(AAA) RQMNAME(QMGRNAME)XMITQ(QTNAME)定义模型队列DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)定义本地传输队列DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) +INITQ(SYSTEM.CHANNEL.INITQ)+PROCESS(PROCESSNAME) REPLACE定义死信队列DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE设定队列管理器的死信队列ALTER QMGR DEADQ(QNAME)创建进程定义DEFINE PROCESS(PRONAME) +DESCR(STRING)+APPLTYPE(WINDOWSNT)+APPLICID( runmqchl -c SDR_TEST -m QM_ TEST)其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等创建发送方通道DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)+CONNAME(100.100.100.215(1418)) XMITQ(QTNAME) REPLACE其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。创建接收方通道DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE创建服务器连接通道DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE显示队列的所有属性DISPLAY QUEUE(QNAME) ALL显示队列的所选属性DISPLAY QUEUE(QNAME) DESCR GET PUTDISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH显示队列管理器的所有属性DISPLAY QMGR ALL显示进程定义DISPLAY PROCESS(PRONAME)更改属性ALTER QMGR DESCR(NEW DESCRIPTION)ALTER QLOCAL(QNAME) PUT(DISABLED)ALTER QALIAS(QNAME) TARGQ(TARGQNAME)删除队列DELETE QLOCAL(QNAME)DELETE QREMOTE(QRNAME)清除队列中的所有消息CLEAR QLOCAL(QNAME)3、 配置要求配置最常用的模式:Sender-Receiver,队列管理器QM1上的消息向队列管理器QM2上发送,可以任务QM在机器1上,QM2在机器2上,物理上可以是一台机器,本例演示环境也是一台机器。在实际的应用系统中,消息不仅要发,还要接收,这时进行以下的双向配置即可。为简单起见,只讲解QM1-QM2发送消息。4、 QM1和QM2的配置4.1、 配置过程说明:本脚本用例测试模式:Sender - Receiverc:表示命令行,:表示MQ命令行建立两个队列管理器。QM1-c:crtmqm QM1c:strmqm QM1c:runmqsc QM1:DEFINE QLOCAL(QX) USAGE(XMITQ) REPLACE:DEFINE QREMOTE(QR) RNAME(QL) RQMNAME(QM2) XMITQ(QX) REPLACE:DEFINE CHANNEL(C) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME(127.0.0.1(1416) XMITQ(QX) REPLACE:endQM2-c:crtmqm QM2c:strmqm QM2c:runmqsc QM2:DEFINE LISTENER(LSR) TRPTYPE(TCP) PORT(1416) CONTROL(QMGR):DEFINE QLOCAL(QL) REPLACE:DEFINE CHANNEL(C) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE:START CHANNEL(C):end-c:start runmqlsr -m QM2 -t tcp -p 1416c:runmqsc QM1:start channel (C):end4.2、 配置后的结果4.3、 测试验证c:amqsput QR QM1你好!MQ5、 C#代码需要使用的dll包是amqmdnet.dll,位于MQ安装目录下的bin目录。using System;using System.Collections;using System.Text;using System.Windows.Forms;using IBM.WMQ;namespace CzzfLiuText public partial class TestMQ : Form public TestMQ() InitializeComponent(); private void button1_Click(object sender, EventArgs e) /* 方式一 MQQueueManager qMgr = new MQQueueManager(QM1); MQQueue queue = qMgr.AccessQueue(QR, MQC.MQOO_OUTPUT); MQMessage message = new MQMessage(); message.WriteString(你好,现在是 + DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss); queue.Put(message);*/ /* 方式二*/ MQQueueManager qMgr = new MQQueueManager(QM1); MQQueue queue = qMgr.AccessQueue(QR, MQC.MQOO_OUTPUT); MQMessage message = new MQMessage(); message.WriteUTF(你好,现在是 + DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);/ queue.Put(message); queue.Close(); qMgr.Close(); MessageBox.Show(发送完成); private void button2_Click(object sender, EventArgs e) /* 方式一 MQQueueManager qMgr = new MQQueueManager(QM2); MQQueue queue = qMgr.AccessQueue(QL, MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING); MQMessage message = new MQMessage(); queue.Get(message); MessageBox.Show(message.ReadString(10000); */ /* 方式二*/ MQQueueManager qMgr = new MQQueueManager(QM2); MQQueue queue = qMgr.AccessQueue(QL, MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT); MQMessage message = new MQMessage(); MQGetMessageOptions gmo = new MQGetMessageOptions(); g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广州美术学院2026年1月公开招聘非事业编制工作人员备考题库及完整答案详解
- 2026年玉门市公开招聘供热工作人员备考题库含答案详解
- 厨余堆肥与蚯蚓粪对小白菜生长过程中病虫害发生规律及防治研究教学研究课题报告
- 云浮市(罗定)第三人民医院2025年第四季度公开招聘编外人员备考题库有答案详解
- 高中美术教学中数字艺术设计的创新教学课题报告教学研究课题报告
- 2026年中国铁路呼和浩特集团有限公司招聘高校毕业生733人备考题库有完整答案详解
- 中国信达吉林分公司2026年招聘备考题库及参考答案详解一套
- 2026年上海浦江教育出版社医学图书编辑招聘备考题库参考答案详解
- 2026年浙江省卫生健康监测与评价中心招聘行政综合管理岗位备考题库及完整答案详解1套
- 2025年区块链数字版权交易平台比较报告
- GB/T 228.1-2021金属材料拉伸试验第1部分:室温试验方法
- 氢能与燃料电池-课件-第五章-制氢技术
- 科研伦理与学术规范-课后作业答案
- 2023QC小组活动基础知识培训
- 生理学期末考试复习试题库及答案
- 旅游地理学 国家公园建设与管理
- JJF(石化)036-2020漆膜附着力测定仪(划圈法)校准规范
- 站场资料管理规定(生产)
- GB/T 20330-2006攻丝前钻孔用麻花钻直径
- GB/T 12706.4-2020额定电压1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)挤包绝缘电力电缆及附件第4部分:额定电压6 kV(Um=7.2 kV)到35 kV(Um=40.5 kV)电力电缆附件试验要求
- 机械原理课程设计报告(粉末成型压机设计)
评论
0/150
提交评论