两个MQ队列管理器之间互相放消

合集下载

常用MQ命令

常用MQ命令

觉得很有参考价值,跟大家分享。
1. 安装好MQ之后,本身MQ会给你提供一些src的sample,有些是非常有用的,前提是你要装sample,可以将那些src的东东按照自己的需求
修改后编译使用,exam(linux):gcc -o destname srcname -lmqm
2. 生产环境的QM由于某种需求,要更换服务器,又要保证在很短的时间内切换完成,那么怎么将原有定义的mq资源导出来,并形成ddl脚本呢?IBM提供了这么一个简单有效的导出工具(里面又各种平台的导出脚本),可以在ibm官方网站上搜索ms03,将它下载下来使用;注意要启动MQ的commandserver
删除队列
DELETE QLOCAL(QNAME)
DELETE QREMOTE(QRNAME)
清除队列中的所有消息
CLEAR QLOCAL(QNAME)
以下是一些高级配置的命令:
amqmcert 配置SSL证书
amqmdain 配置windows上的MQ服务
远程队列定义
DEFINE QREMOTE(QRNAME) +
RNAME(AAA) RQMNAME(QMGRNAME) +
XMITQ(QTNAME)
定义模型队列
DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
定义本地传输队列
DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) +
其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。
创建接收方通道

mq数据同步方案 -回复

mq数据同步方案 -回复

mq数据同步方案-回复MQ数据同步方案一、引言消息队列(Message Queue,简称MQ)是一种在分布式系统中用于应用程序之间进行异步通信的解决方案。

它通过将消息发送到中间代理(消息中间件)来解耦发送者和接收者之间的直接通信,从而提高系统的可伸缩性和弹性。

在数据同步方案中,MQ可以起到缓冲、解耦、削峰填谷等作用,使数据可以在不同系统之间进行高效稳定的传输。

本文将深入探讨如何利用MQ实现数据同步方案,主要包括以下几个方面:MQ的相关概念和原理、MQ数据同步的基本流程、数据同步方案的设计和实施、以及常见的MQ数据同步方案举例等。

二、MQ的相关概念和原理1. 消息队列消息队列是一种异步通信机制,它将消息发送者和消息接收者解耦,使得发送者和接收者可以独立地运行和扩展。

消息队列中的消息以先进先出(FIFO)的方式进行排序,确保消息的顺序性。

2. 消息中间件消息中间件是实现消息队列的软件系统,它负责接收、存储和转发消息,它还提供了消息发送和接收的API接口,使得应用程序可以与消息队列进行交互。

3. 生产者和消费者生产者是消息队列的消息发送者,它负责将消息发送到消息队列中。

消费者是消息队列的消息接收者,它负责从消息队列中获取消息并进行处理。

4. 主题和队列主题是消息队列中的一种发布/订阅模式,一个主题可以有多个消费者。

队列是消息队列中的一种点对点模式,一个队列只能有一个消费者。

三、MQ数据同步的基本流程MQ数据同步的基本流程包括数据产生、数据发送、数据接收和数据处理等环节。

下面将详细介绍每个环节的实现方式。

1. 数据产生数据产生是指在源系统中生成需要同步的数据。

可以通过源系统的数据库触发器、消息队列客户端等方式实现数据的实时产生。

2. 数据发送数据发送是指将数据通过消息队列发送到目标系统。

生产者将数据封装成消息,并通过消息中间件发送到消息队列,等待消费者的接收。

3. 数据接收数据接收是指消费者从消息队列中获取数据。

(转)IBMmq基本使用

(转)IBMmq基本使用

(转)IBMmq基本使⽤⼀、下载7.5 Trial版本这是下载⽹址,下载前先必须注册IBM ID,下载完成后⼀路Next即可(注:windows上安装时,会询问是否域环境,初次学习时,为简单起见,建议选择No)安装完成后,MQ的Bin⽬录会⾃动添加到环境变量Path中,以后就可以直接⽤Dos命令⾏窗⼝操作(当然,也可以⽤图形化GUI⽅式通过IBM WebSphere MQ Explorer来管理)注:安装时,强烈建议⽤管理员Administrator⾝份安装,否则安装完成后,有可能license⽆法⽣效、runmqsc命令模式下⽆法正常执⾏命令.⼆、创建队列管理器WIN + R键,输⼊cmd,进⼊命令⾏窗⼝,键⼊:crtmqm QM_TEST创建⼀个队列管理器QM_TEST(你可以改成⾃⼰想要的名字),如果把整个MQ理解成⼀个数据库实例,QM_TEST相当于就是db instance中的schema(或user)命令⾏创建的队列管理器默认是不活动状态的,可以⽤strmqm QM_TEST来启动队列管理器三、创建队列如果说“队列管理器”是db中的schema,那么"队列"就相当于db中的Table了,⽽队列中的每条"消息",就相当于Table中的每条记录,继续在命令⾏窗⼝模式下,输⼊runmqsc QM_TEST将进⼊MQ的交互命令模式,继续输⼊define qlocal(Q1)将创建⼀个本地队列Q1(你可以改成⾃⼰需要的名字),如果此时你打开 "开始菜单->程序->IBM WebSphere MQ->WebSphere MQ Explorer (Installation1)"也能同步在图形界⾯下,看到这个队列最后键⼊end,退出MQ的交互命令模式。

四、发送消息继续在Windows命令模式下,输⼊amqsput Q1 QM_TEST这⾥系统将处于等待⽤户输⼊的状态,随便输⼊⼀些消息,然后连敲⼆次回车,完成消息发送五、接收消息amqsget Q1 QM_TEST把刚才的put换成了get,将从队列管理器QM_TEST的队列Q1中,把消息取出来六、进阶指南熟悉以上命令⾏操作后,还可以⽤图形化的操作⽅式再强化⼀遍(建议还是多⽤命令⾏模式,因为有些操作只能⽤命令⾏完成,⽐如后⾯要提到的修改队列管理器编码)WebSphere MQ Explorer中,从"帮助"菜单⾥调出帮助⽂档,⾥⾯有⼀个不错的教程,强烈推荐新⼿看⼀遍不过,"教程2:将消息发送⾄远程队列"这⾥,帮助⽂档上有⼏个细节没讲透,导致初次⽤命令⾏照着做,可能会不成功,⼏个要点如下:1、通道命名问题发送⽅与接收⽅的通道名称,必须⼀样,这样⼆边才能对应起来2、接收⽅必须要有侦听器,⽽且要处于激活状态3、发送⽅的发送通道中,连接名称格式为:"<接收⽅HostName或IP地址>(接收⽅-队列管理器-侦听器的TCP端⼝) ,不包括"<>“,⽐如⽐如:yangjm(1514)或172.12.134.14(1514)4、发送⽅的发送通道必须处于激活状态,如果通道启动失败,尝试右键->ping/复位,如果还不⾏,检查上述要点1-3是否设置有问题七、远程连接问题图形⽅式添加“远程队列管理器”时,如果远程队列也是7.x或以上版本,当前登录⽤户是管理员时,将提⽰权利不⾜,拒绝连接,原因是7.0以上,MQ提⾼了安全性,会默认拦截管理员,详情可参考IBM上的解释解决⽅式:1. 更换当前⽤户,建⼀个mqm⽤户组(MQ安装后,会默认创建该Windows⽤户组)的⽤户,然后以该⽤户⾝份登录操作2.参考IBM上的解释,如果出于学习⽬的,最简单的做法,就是在runmqsc交互模式下,键⼊ALTER QMGR CHLAUTH(DISABLED) 直接关闭通道认证(⽣产环境不推荐这么做)另外,要想本机上的队列能被远程管理,前提是该队列管理器允许远程管理,操作⽅式:队列管理器上右击->选择"远程管理...",接下来的事情⼤家都知道⼋、字符集编码问题每个队列管理器,都有⼀个CCSID的属性,对应的就是字符集编码,在windows系统中,这个编码应该是1381,如果你是⽤其它OS(⽐如linux)的配置通过脚本导⼊MQ的,可能编码就不是1381了,这会导致在windows上⽆法连接\启动队列管理器,可以通过MQ交互命令⾏修改,runmqsc QM_TEST 进⼊QM_TEST的MQ交互模式DISPLAY QMGR CCSID 查看当前的CCSID属性ALTER QMGR CCSID(1381) 修改字符集编码为1381九、如何从“试⽤版”升级成“正式版”试⽤版默认只能⽤90天,到期后,如果购买了正式版的license,可以通过命令⾏导⼊license,命令如下:setmqprd x:\license\amqpcert.lic注:amqpcert.lic中的P即代表这是Product⽣产版本,setmqprd 后⾯的路径即为license⽂件的所在路径⼗、java连接⽰例代码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.MQPutMessageOptions;import com.ibm.mq.MQQueue;import com.ibm.mq.MQQueueManager;/** 可以在MQ的资源管理器的某⼀个队列上放⼊测试消息、浏览消息等* 可以放⼊多条消息,按先进先出的⽅式取得*/public class MQTest {private String qManager;// QueueManager名private MQQueueManager qMgr;private MQQueue qQueue;String HOST_NAME;int PORT = 0;String Q_NAME;String CHANNEL;int CCSID;String Msg;public void init() {try {HOST_NAME = "yangjm";//Hostname或IPPORT = 1414;//要有⼀个侦听器,处于活动状态,且监听1414端⼝qManager = "QM_APPLE";Q_NAME = "Q1";//Q1是⼀个本地队列CHANNEL = "DC.SVRCONN";//QM_APPLE上要建⼀个名为DC.SVRCONN的服务器连接通道CCSID = 1381; // 表⽰是简体中⽂,// CCSID的值在AIX上⼀般设为1383,如果要⽀持GBK则设为1386,在WIN上设为1381。

mq的使用场景和步骤

mq的使用场景和步骤

mq的使用场景和步骤MQ(Message Queue)是一种异步通信模式,在分布式系统中被广泛应用。

它将消息从一个应用程序传递到另一个应用程序,可以解耦应用程序之间的直接依赖关系。

MQ的使用场景:1. 异步任务处理:可以将耗时的任务放在消息队列中处理,提高系统的并发能力和响应速度。

2. 应用解耦:不同的应用之间可以通过消息队列进行解耦,提高系统的可伸缩性和可维护性。

3. 数据同步:可以将不同系统之间的数据同步操作通过消息队列进行异步处理。

4. 流量削峰:在大并发请求下,可以通过消息队列来控制系统的流量,避免系统崩溃或过载。

5. 日志处理:将日志消息发送到消息队列,然后通过消费者处理和存储,以降低日志系统的压力。

MQ的使用步骤:1. 安装和配置MQ系统:选择适合自己系统的MQ软件,如RabbitMQ、Kafka等,并进行相应的安装和配置。

2. 创建消息队列:在MQ系统中创建一个或多个消息队列,用于存储消息。

3. 发送消息:生产者将要发送的消息发送到消息队列中。

4. 接收消息:消费者监听(或订阅)消息队列,当有消息到达时,消费者接收并处理消息。

5. 处理消息:消费者处理接收到的消息,根据业务需求进行相应的处理逻辑。

6. 确认消息:当消费者成功处理一条消息后,向MQ系统发送确认消息,表示这条消息已经被处理完成。

7. 监控和调优:根据实际情况监控MQ的性能指标,进行性能调优以提高系统的稳定性和可靠性。

需要注意的是,不同的MQ系统可能会有一些细微的差别,具体的使用步骤可能会有所不同。

因此,在使用特定MQ系统之前,应该详细了解该MQ系统的使用文档和实践经验。

如何进行MQ运行故障和排除

如何进行MQ运行故障和排除

目前随着我们在中国的WebSphere MQ(MQSeries)用户数量越来越多,越来越多的用户开始对MQ使用时的性能优化问题提出要求,希望能够更好地使用我们的产品,并尽可能的发挥它的最大优势,这里,我根据日常积累的经验谈一谈在MQ性能优化方面应该考虑的因素。

任何一种软件,都会存在一定的系统管理工作,WebSphere MQ也不例外,在使用WebSphere MQ(以下简称MQ)时,我们可能会由于配置的原因或者由于系统的原因,也可能由于MQ本身的原因,而遇到MQ运行过程中的一些故障和问题,如何能够快速地定位这些问题,分析问题发生的原因,进而快速地解决问题,恢复系统正常运行呢?这需要一定的经验积累和技巧,本文将对这方面给出一些简单的提示和方法。

其实,MQ的故障分析手段很多,例如MQ的错误日志即是一种简单易行、快速有效的手段,通过查看错误日志往往能一针见血地迅速解决问题,另外MQ还提供了其它一些手段,如通过作trace 和FFST (First Failure support technology) 等途径,来追踪和记录错误信息,从而解决问题。

作为一个跨平台的中间件产品,MQ在各个平台上的系统管理方法也有极大的相似之处,尤其在AIX,SUN,HP-UNIX等Unix平台和WindowsNT/2000平台上,本文将以MQ for Windows NT/2000 为例,帮助您分析和定位产品运行过程中可能发生的问题,并给出查找问题的办法,帮助您分析问题产生的可能原因,从而给出解决问题的途径。

在分析故障原因时,通常可从一个或一系列症状入手,对它们进行跟踪以发现问题发生的原因。

然而,诊断问题不是解决问题。

但是,问题诊断的过程常使你能够解决问题。

例如,如果你发现引起问题的原因是应用程序中的一个错误,你就可以通过改正该错误来解决问题。

如果在确定了问题的原因并采取了相应措施后,您仍不能解决问题,您可以和IBM支持中心联系以帮助您解决问题。

IN-HB-OUT MQ 三个队列管理器间的通讯

IN-HB-OUT MQ 三个队列管理器间的通讯
rem #===========================================================================
rem #说明:
rem #QM_IN :消息发送方
rem #QM_HB :消息“接力”转发
rem #QM_OUT :消息接收方
rem #实现功能:在【QM_IN.QR】 中放入消息,之后消息发送至【QM_HB】,QM_HB在接收到消息后,立即转发到【QM_OUT】
crtmqm QM_IN
crtmqm QM_HB
crtmqm QM_OUT
dspmq
strmqm QM_IN
strmqm QM_HB
strmqm QM_OUT
dspmq
echo "init QM_IN--------------------------------------------------------
echo define chl(TO.QM_HB) chltype(SDR) trptype(TCP) conname('127.0.0.1(40002)') XMITQ(QM_HB) longTMR(60) shortRTY(999999999) replace|runmqsc QM_IN
echo define qremote(QR) rname(QL.RCV) rqmname(QM_OUT) XMITQ(QM_HB) replace | runmqsc QM_IN
echo define ql(QM_HB) usage(XMITQ) trigger trigtype(FIRST) trigdata(TO.QM_HB) INITQ(SYSTEM.CHANNEL.INITQ) replace | runmqsc QM_IN

mq的使用方法

mq的使用方法

mq的使用方法(原创版4篇)目录(篇1)1.MQ 的概念与作用2.MQ 的基本使用方法3.MQ 的高级使用方法4.MQ 的使用注意事项正文(篇1)一、MQ 的概念与作用消息队列(Message Queue,简称 MQ)是一种应用程序之间通过消息进行通信的技术。

它起到了解耦、削峰填谷、保证消息顺序等作用,广泛应用于企业级应用中。

二、MQ 的基本使用方法1.创建队列:通过命令创建一个队列,如:`创建队列 my_queue`。

2.发送消息:通过命令向队列发送消息,如:`发送消息 my_queue "Hello, MQ!"`。

3.接收消息:通过命令从队列接收消息,如:`接收消息 my_queue`。

三、MQ 的高级使用方法1.消息过滤:可以使用`#`符号进行消息过滤,如:`接收消息my_queue # "关键字"`。

2.消息持久化:可以通过设置队列属性实现消息持久化,以防止数据丢失。

3.消息重试:可以使用`retry`命令实现消息的重试发送。

四、MQ 的使用注意事项1.合理设置队列参数,如队列长度、消息大小等,以避免队列过满或消息丢失。

2.注意消息顺序,确保接收消息的顺序与发送消息的顺序一致。

3.确保消息发送与接收的及时性,避免出现消息堆积或接收不及时的情况。

通过以上方法,您可以熟练地使用消息队列(MQ)进行应用程序间的通信。

目录(篇2)1.MQ 的概念与作用2.MQ 的基本组成3.MQ 的使用方法4.MQ 的优缺点5.总结正文(篇2)一、MQ 的概念与作用消息队列(Message Queue,简称 MQ)是一种应用程序之间通过消息传递进行通信的技术。

它起到了解耦、异步处理、削峰填谷等作用,使得系统在面对高并发、高负载的情况下仍能稳定运行。

二、MQ 的基本组成一个典型的消息队列系统包括以下几个部分:1.生产者(Producer):负责向队列中发送消息的应用程序。

2.消费者(Consumer):负责从队列中接收并处理消息的应用程序。

mq常用命令

mq常用命令

mq常用命令一、连接管理命令1. mqsc:进入MQSC模式,用于管理MQ对象。

2. runmqsc:运行MQSC脚本。

3. strmqm:启动MQ队列管理器。

4. endmqm:停止MQ队列管理器。

5. dspmq:显示当前系统中的MQ队列管理器。

6. crtmqm:创建新的MQ队列管理器。

7. dltmqm:删除指定的MQ队列管理器。

二、队列管理命令1. crtlq:创建本地队列。

2. dltmq:删除本地队列。

3. dmpmqmsg:显示队列中的消息。

4. amqmsrvn:启动MQ服务。

5. amqmdnet:启动MQ分布式网络服务。

6. amqmdgin:启动MQ远程订阅服务。

三、消息处理命令1. amqsput:向队列发送消息。

2. amqsget:从队列接收消息。

3. amqssub:订阅消息。

4. amqssubc:取消订阅消息。

5. amqsgrep:根据消息内容过滤消息。

四、通道管理命令1. crtmqchs:创建MQ通道。

2. dltmqchs:删除MQ通道。

3. strmqmchs:启动MQ通道。

4. endmqmchs:停止MQ通道。

5. dspmqchs:显示MQ通道。

6. amqssslc:启用SSL加密通道。

五、安全管理命令1. setmqaut:设置队列对象的授权。

2. dspmqaut:显示队列对象的授权。

3. setmqaut:设置队列管理器的授权。

4. dspmqaut:显示队列管理器的授权。

5. setmqaut:设置通道的授权。

6. dspmqaut:显示通道的授权。

六、日志管理命令1. amqsbcg:启用MQ日志。

2. amqsbcgc:停用MQ日志。

3. amqsbcgd:调整MQ日志大小。

4. dspmqlog:显示MQ日志。

七、监控命令1. dspmqrte:显示MQ路由器状态。

2. dspmqspl:显示MQ任务状态。

3. dspmqsrv:显示MQ服务状态。

mq实现机制

mq实现机制

mq实现机制一、什么是MQMQ(Message Queue)是一种消息传递的机制,用于不同应用程序之间的异步通信。

它允许发送者将消息发送到队列中,并由接收者从队列中获取消息,实现了解耦和异步处理的目的。

二、MQ的基本原理MQ的基本原理是通过消息队列实现消息的异步传输和存储。

具体来说,MQ采用了生产者-消费者模式,消息的发送者称为生产者,消息的接收者称为消费者。

MQ系统中有一个中间件,即消息队列,生产者将消息发送到队列中,而消费者从队列中获取消息进行处理。

1. 生产者发送消息:生产者将消息发送到队列中,消息可以是任何形式的数据,如文本、图片、视频等。

2. 消费者获取消息:消费者从队列中获取消息进行处理。

消费者可以有多个,可以根据需要进行扩展。

3. 消息的存储和传输:MQ系统会将消息存储在队列中,保证消息的可靠性和持久性。

同时,MQ系统负责消息的传输,将消息从生产者传递到消费者。

三、MQ的实现机制MQ的实现机制主要包括消息的传递方式、消息的持久化、消息的路由和负载均衡等。

1. 消息的传递方式:MQ系统可以采用点对点模式或发布-订阅模式进行消息的传递。

- 点对点模式:生产者将消息发送到特定的队列中,消费者从队列中获取消息进行处理。

每个消息只能被一个消费者接收。

- 发布-订阅模式:生产者将消息发送到主题中,消费者订阅感兴趣的主题并获取消息进行处理。

每个消息可以被多个消费者接收。

2. 消息的持久化:MQ系统可以将消息进行持久化,确保即使系统故障或重启,消息也不会丢失。

持久化的方式可以是将消息存储在磁盘上,或者通过备份和复制来保证消息的可靠性。

3. 消息的路由:MQ系统可以根据消息的内容、标签或其他属性来进行消息的路由。

路由的方式可以是基于消息队列的名称、主题的名称或者其他规则。

4. 负载均衡:当有多个消费者时,MQ系统可以进行负载均衡,将消息均匀地分配给各个消费者,提高系统的性能和可伸缩性。

四、MQ的应用场景MQ在现代分布式系统中有广泛的应用,主要包括以下几个方面:1. 异步通信:MQ可以实现不同应用程序之间的异步通信,提高系统的响应速度和吞吐量。

MQ维护与操作

MQ维护与操作

MQ维护与操作MQ维护与操作1.MQ 的⽇志清理MQSeries ⽤错误⽇志记录与MQSeries ⾃⾝运⾏,队列管理器以及通道有关的消息。

因此,错误⽇志对于MQSeries 错误诊断⾮常重要。

AIX 平台上的MQSeries错误⽇志:当队列管理器名称已知,并且队列管理器可⽤时,错误⽇志位于/var/mqm/qmgrs/qmname/errors ⽬录下,如:与MQ 通道有关的消息。

当队列管理器不可⽤时,错误⽇志位于/var/mqm/qmgrs/@SYSTEM/errors ⽬录下;当错误是事务⽇志MQ 的故障维护与Client 应⽤程序有关,错误⽇志位于:/var/mqm/errors ⽬录下。

系统管理员要定期观察错误⽇志,清楚产⽣错误的原因,并根据需要定期清理或备份错误⽇志。

MQSeries 有两种事务⽇志类型:环型⽇志和线型⽇志,所在⽬录为/var/mqm/log环型⽇志预先指定⽇志⽂件的个数,MQ 运⾏时事务⽇志循环使⽤这些⽂件。

环型⽇志的⽇志⽂件所占空间不会增长,也⽆法备份MQ 应⽤系统的映像。

本系统现设计为环型⽇志。

线型⽇志指MQSeries 在运⾏的过程中会随着⽇志记录的增加⽽产⽣新的⽇志⽂件,线型⽇志的可以保证事务运⾏中产⽣的⽇志有⾜够的空间(除⾮⽂件系统空间不⾜),还可以把MQ 应⽤系统的映像备份到⽇志中,在发⽣故障后完整地恢复,线型⽇志⽇志⽂件所占⽤的空间会不断增长,需要系统管理员定期⼿⼯删除过期的⽇志⽂件。

2.如何清除MQ 队列管理器遗留的共享内存和信号量下⾯列出的是⼀段⽤于清除MQSeries 上⼀次遗留的共享内存和信号量的⼩程序。

通常遇到的状况是当启动队列管理器时失败,返回消息AMQ8041,指明以前的进程依然在使⽤中。

解决⽅法:运⾏以下脚本或命令。

ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}3.如何解决MQSeries 队列管理器⽆法启动报“AMQ5522”错误当启动MQSeries 队列管理器时,⽆法启动,报“AMQ5522”错误。

mq顺序队列实现原理

mq顺序队列实现原理

M Q顺序队列实现原理1.介绍M Q(M es sa ge Qu eu e)是一种基于消息的异步通信机制,常用于解耦系统之间的通信以及实现高性能、高可用的数据处理。

顺序队列是MQ中的一种重要类型,它保证了消息的有序性,使得消费者能够按照消息的顺序进行处理。

本文将详细介绍M Q顺序队列的实现原理,包括消息的有序性保证、队列分片和负载均衡、消息可靠性等方面。

2.消息的有序性保证在M Q顺序队列中,不同的消息可能按照不同的顺序被生产者发送到队列中。

为了保证消息的有序性,M Q系统需要按照一定规则将消息进行排序,并确保消费者按照相同的顺序进行消费。

2.1消息排序规则M Q系统会为每个顺序队列定义一个排序规则,根据该规则对消息进行排序。

消息排序规则可以根据业务需求进行定制,比如按照消息的产生时间、消息的优先级等进行排序。

2.2队列分片和负载均衡为了提高系统的吞吐量,M Q系统一般会将一个顺序队列划分为多个分片,每个分片由一组B ro ke r节点负责维护。

当生产者发送消息时,MQ系统会根据消息的关键字或者哈希值将消息路由到相应的分片上。

为了保证分片之间的负载均衡,M Q系统会采用一致性哈希算法或者其他负载均衡策略来分配消息到不同的分片。

这样,即使某个分片的消息量非常大,也能够保证其他分片的负载情况。

2.3消费者的顺序消费为了保证消费者按照消息的顺序进行消费,M Q系统需要引入一种机制来控制消费者的顺序。

常见的方式是引入消费者分组(C o n su me rG ro u p)的概念。

每个消费者分组包含多个消费者,每个消费者负责顺序地消费一个分片的消息。

如果一个消费者分组中的某个消费者消费速度变慢,M Q系统会自动将该消费者的分片迁移到其他消费者上,保证消息的顺序性。

3.消息可靠性保证在M Q顺序队列中,为了保证消息的可靠性,系统需要采取一些措施来防止消息的丢失或重复消费。

3.1消息持久化M Q系统会将接收到的消息持久化到磁盘上,以防止消息的丢失。

IBM MQ常用命令

IBM MQ常用命令
再有看看远程队列中的属性是不是配置错误,如rname,rqname,xmitq等属性。
也有可能是发送接收队列的消息序列号不一致。如果不一致做一下reset操作。
还有可能是上一批消息没有提交。可以做一个resolve操作。
QR1 -> QT1 -> QL2
消息被放入到远程队列中,远程队列通过传输队列传输,最后传输到QM2中的本地队列。
出现问题,我们怎么办?
1 不能放入消息。
一般这种情况应该大部分是远程队列中的传输队列那个参数配置的不正确。
还有可能是队列的允许放入这个参数设置成了禁止。基本上就这两种情况。
更改属性
ALTER QMGR DESCR(‘NEW DESCRIPTION’)
ALTER QLOCAL(QNAME) PUT(DISABLED)
ALTER QALIAS(QNAME) TARGQ(TARGQNAME)
删除队列
DELETE QLOCAL(QNAME)
DELETE QREMOTE(QRNAME)
INITQ(SYSTEM.CHANNEL.INITQ)+
PROCESS(PROCESSNAME) REPLACE
创建进程定义
DEFINE PROCESS(PRONAME) +
DESCR(‘STRING’)+
APPLTYPE(WINDOWSNT)+
APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’)
常用命令
创建队列管理器
crtmqm –q QMgrName
-q是指创建缺省的队列管理器
删除队列管理器

MQ的基本概念

MQ的基本概念

MQ的基本概念-ZT1) 队列管理器队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。

2) 消息Messaging means that programs communicate with each other by sending data in messages and not by calling each other directly.在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息。

消息有两部分组成:消息描述符(Message Discription或Message Header),描述消息的特征,如:消息的优先级、生命周期、消息Id等;消息描述符(MQMD)也称消息头,应用程序发送信息时,指定要发送的一个应用数据及控制信息MQSeries将控制信息组织成一个MQMD结构加到应用数据上,从而构成一个消息。

MQMD包括如下结构成员:消息类型(MsgType)(1)报文消息(Datagram)不要求响应(2)请求消息(Request)要求响应的消息(3)响应消息(Reply)请求消息的响应消息(4)报告消息(Report)描述时间如发生错误的消息实效时间(Expiry)由应用程序指定,消息在传输过程中、保存在队列中或处理时由队列管理器或应用程序逐步递减。

到零时,由队列管理器负责删除。

优先级(Priority)应用程序指定持续性(Persistence)在队列管理器故障时不会丢失,由消息日至恢复。

消息标识(MsgId)由应用程序或队列管理器生成。

相关标识(CorrelId)用于把一个消息和另一个消息联系起来的标识,由应用程序或队列管理器生成。

应用标识数据(ApplIdentityData)由应用程序将消息放入队列指定。

消息的最大长度为100兆。

rocketmq 双master 原理

rocketmq 双master 原理

rocketmq 双master 原理RocketMQ是一种基于消息传递的分布式消息中间件,具有高性能、高可用和高吞吐量的特点。

在RocketMQ中,双主题(双Master)是一种常见的架构模式,可以提高系统的可用性和容错能力。

一、什么是双Master架构模式?双Master架构模式是指在RocketMQ中使用两个独立的Master节点来处理消息生产和消费的请求。

每个Master节点都有自己的存储和缓存,可以独立地处理消息传输和存储,从而提高系统的可用性和容错能力。

二、双Master架构模式的原理是什么?1. 主题划分在双Master架构模式中,每个主题会被划分为若干不同的队列。

每个队列都会被分配给一个Master节点进行管理。

这样可以将消息的负载进行均衡,并提高系统的并行处理能力。

2. 主节点选举在双Master架构模式中,为了保证系统的可用性,需要选举出一个主节点来处理消息的生产和消费请求。

RocketMQ采用了基于ZooKeeper的主节点选举算法。

当一个Master节点宕机或者网络故障时,ZooKeeper会监测到节点的状态变化,并重新选举出一个新的主节点来接管原主节点的工作。

3. 消息同步在双Master架构模式中,主节点和备份节点之间采用了主从复制机制来实现消息的同步。

当主节点接收到生产者发送的消息后,会将消息写入自己的消息存储中,并将消息的元数据(如消息的位置和偏移量)发送给备份节点。

备份节点则会复制主节点的消息存储,并对消息进行备份。

这样可以保证在主节点故障时,备份节点可以接管主节点的工作,并保证消息的可靠传输。

4. 消息读取在双Master架构模式中,消息的消费者会同时从多个Master节点中读取消息。

RocketMQ采用了异步复制机制来实现消息的读取。

当一个消费者从一个Master节点中读取消息时,RocketMQ会将消息的元数据发送给其他Master 节点,然后消费者可以同时从多个Master节点中读取消息,从而提高系统的读取吞吐量。

rabbitmq集群同步原理

rabbitmq集群同步原理

rabbitmq集群同步原理RabbitMQ是一种流行的开源消息队列软件,它支持多种消息协议和消息传输方式。

为了提高可靠性和可伸缩性,RabbitMQ可以部署为集群,即多个RabbitMQ节点组成的集合。

在RabbitMQ集群中,节点之间需要进行同步,以确保消息的正确传递和处理。

本文将介绍RabbitMQ集群同步的原理。

1. 集群搭建在RabbitMQ集群中,所有节点都是对等的,没有主节点和从节点之分。

集群中每个节点都需要安装RabbitMQ软件,并且节点之间需要网络互通。

2. 集群节点之间的通信在RabbitMQ集群中,节点之间通过AMQP协议进行通信,节点之间可以互相发送消息。

当一个节点收到消息后,它可以选择将消息发送到其他节点,使得集群中的其他节点也能够处理该消息。

3. 集群节点之间的同步为了保证集群中的所有节点都具有相同的队列和交换机信息,RabbitMQ集群使用了一种称为“镜像队列”的机制。

在镜像队列中,队列中的所有消息都会被复制到集群中的其他节点。

这样,即使某个节点宕机,集群中的其他节点仍然能够接收并处理该节点上的消息。

4. 镜像队列的实现RabbitMQ使用了Erlang语言的分布式特性来实现镜像队列。

在RabbitMQ集群中,每个节点都可以充当队列的“镜像节点”。

当一个队列被创建时,RabbitMQ会将该队列的元数据信息(比如队列名称、队列参数等)同步到集群中的所有节点。

当一个节点接收到一个队列中的消息时,它会将该消息复制到该队列的所有镜像节点。

这样,该队列的所有镜像节点都可以接收到该消息,并进行处理。

5. 镜像队列的优缺点镜像队列机制可以提高RabbitMQ集群的可靠性和可伸缩性。

它可以确保集群中的每个节点都拥有相同的队列和交换机信息,从而避免了单点故障。

同时,镜像队列还可以提高集群中的消息吞吐量,因为消息可以在多个节点之间并行处理。

但是,镜像队列也有一些缺点。

由于每个节点都需要复制所有消息,这会占用大量的网络带宽和存储空间。

mq connectionfactory createconnection 多节点-概述说明以及解释

mq connectionfactory createconnection 多节点-概述说明以及解释

mq connectionfactory createconnection 多节点-概述说明以及解释1.引言1.1 概述概述:在现代的企业和系统中,消息队列(MQ)技术被广泛应用于实现各种异步通信和解耦服务的需求。

MQ ConnectionFactory是MQ的一个重要组件,它负责管理和创建与MQ服务器的连接。

createConnection 方法是ConnectionFactory中一个关键的函数,用于创建一个到MQ服务器的连接。

在多节点环境下,如何有效地管理和利用ConnectionFactory的createConnection方法,成为了开发人员和系统管理员需要关注的重要问题。

本文将深入探讨MQ ConnectionFactory和createConnection方法的原理和应用,特别是在多节点环境下的应用场景。

我们将介绍如何建立和管理多个MQ连接,并分析在多节点环境下如何优化连接的使用,提高系统的可靠性和性能。

通过本文的学习,读者将更好地理解MQ技术在多节点环境下的工作原理和应用方法,为实际项目中的开发和部署提供指导和参考。

1.2 文章结构文章结构部分的内容如下:文章结构部分将对整篇文章的结构和内容做出概要性的介绍,包括各个章节的主要内容和关键点,以便读者能够更清晰地了解整篇文章的布局和内容安排。

具体内容包括每个章节的标题和大致内容概述,帮助读者通过阅读本部分能够快速了解本文的脉络和主要讨论内容。

在本篇文章中,章节结构分为引言、正文和结论三个部分。

引言部分包括了概述、文章结构和目的三个小节,用于引入本文的主题和目的;正文部分则细分为MQ ConnectionFactory、createConnection方法和多节点环境下的应用三个小节,分别从不同角度深入探讨相关主题;结论部分包括总结、应用建议和展望三个小节,总结全文内容并提出建议和未来展望。

通过文章结构部分的介绍,读者可对全文内容有一个清晰的整体认识,从而更好地理解和理解文章内容。

MQ 基本概念

MQ 基本概念

MQ 基本概念对象(objects)WebSphereMQ对象是一种由WebSphereMQ管理的具有可恢复能力的资源。

队列管理器(Queue managers)队列(Queues)名字列表(Namelists)分发列表(Distribution lists)进程定义(Process definitions)通道(Channels)存储类(Storage classes)这些对象在异种平台上都是统一的。

对于系统管理员来说,操纵对象的命令都是可用的。

这些命令格式,对于不同平台是有区别的。

当你创建队列管理器时,会自动地创建缺省对象。

这些缺省对象可以帮助您来定义所需的对象。

每一个对象都有一个名字,以便通过命令和MQI调用可以引用它。

通常在这些对象类型中的每一种对象的名字必须唯一。

例如,一个队列和一个进程的名字可以相同,但是不可以有两个相同名字的队列。

这意味着一个本地队列名不能和模板队列、远程队列或别名队列相同。

但是也会有些特殊情况。

另外在互连的队列管理器网络中,队列管理器名必须唯一。

WebSphereMQ的对象名是大小写敏感的,因此在定义对象时,需要仔细选择好大小写字母。

在 WebSphere MQ 中,除最多有 20 个字符的通道之外,名称最多可以有 48 个字符。

消息消息的类型WebSphereMQ定义了四种基本类型的消息。

应用程序可以定义其他类型的消息。

四种基本类型是:1.请求消息 Request message请求消息需要应答。

从客户端发往服务器的查询和更新信息往往是一条请求消息。

请求消息中应该包含回复消息的路由信息,即回复消息发往什么地方。

2.回复消息 Reply message回复消息是对请求消息的回应。

请求消息中的信息决定了回应消息的目的地。

处理请求和回应的应用程序控制着消息间的关联,这种关联和队列管理器没有关系。

消息自身带有足够的信息供应用程序实现这种关联。

3.报文消息 Datagram message数据报消息是不需要回复的消息,报文消息只是一次单向的信息传送。

统一通信平台集成框架的研究与应用

统一通信平台集成框架的研究与应用

统一通信平台集成框架的研究与应用摘要:针对企业应用的集成面临业务、接口、通信协议不兼容、复用率低、成本高等问题,提出了一种基于OSGi技术的通信平台解决方案,实现具有良好的可伸缩性、可扩展性、可复用性的统一通信平台,并对应用业务集成和MQ集群的关键技术进行研究,使该平台通过统一的跨平台服务接口为集成的业务系统提供稳定可靠的通信方式。

关键词:统一通信平台;集成框架;OSGi;MQ集群0 引言统一通信(Unified Communication,简称UC)是以IP通信为基础,以V oIP、视频通信、多媒体会议、协同办公、通信录以及即时通信等为核心业务能力,通过多样化的终端,以IP为核心的统一控制和承载网以及融合的业务平台实现各类通信的统一和用户体验的统一。

在SOA、SaaS环境下,要求系统能够提供多租户和可伸缩的支撑和管理服务,这是对系统很高的要求。

为满足这些要求,需要作技术方面的努力,但更重要的是在系统的架构和方法论方面作深入的工作。

1 总体框架本框架由接入服务器、MQ(Message Queue)集群、AppContainer 服务组成。

本框架结构如图1。

1.1 接入服务器接入服务器不仅是通信平台的入口,在业务的集成方面,接入服务器提供一个插件接口。

其中插件对插件接口的主要实现步骤为:①注册第三方集成业务的命名空间;②与MQ集群建立JMS连接,建立MQ连接;③对客户端的消息和MQ集群中的JMS消息进行监听,解析收到的消息并封装;④将来自MQ集群的消息发送给客户终端,将来自客户端的消息发送给MQ集群。

1.2 MQ集群位于同一个群集当中的若干队列管理器之间互相通讯时,不需要在每一个队列管理器上创建消息通道、远程队列管理器以及与通道相关的传输队列的定义。

因此,采用MQ集群技术大大简化了平台的配置,并且当某一系统或网络出现故障时,能够自动进行负载均衡,同时同一集群中的服务器可以位于不同的平台和物理位置,使得平台的管理更加简单高效。

RabbitMQ如何清除队列

RabbitMQ如何清除队列

RabbitMQ如何清除队列RabbitMQ如何清除队列进⼊控制台⾸先定位到 rabbitMQ 安装⽬录的sbin ⽬录下,然后shift+右键,调出右键菜单,选择在此处打开命令窗⼝,打开⼀个cmd窗⼝查看所有队列:rabbitmqctl list_queues⽅式⼀:rabbitmqctl reset该⽅式需要执⾏如下命令:rabbitmqctl stop_app -> rabbitmqctl reset -> rabbitmqctl start_app说明:rabbitmqctl stop_app - 关闭应⽤rabbitmqctl reset - 清除队列中的消息rabbitmqctl start_app - 再次启动此应⽤查看是否清空:最后,再次执⾏命令:rabbitmqctl list_queues。

这次可以看到 listing 及 queues都是空的。

注意:1)使⽤此命令前,要先关闭应⽤(rabbitmqctl stop_app),否则不能清除2)这种⽅式不仅会清空消息,还会清空所有配置信息,需要谨慎使⽤⽅式⼆:rabbitmqctl delete_queue说明:该⽅式就是将队列删除,重新建⼀个1)删除单个queuerabbitmqctl delete_queue queue_name2)提供批量删除queueRabbitMQ没有提供批量删除queue的命令或功能,但是有提供列出所有队列名称以及删除单个queue的功能。

我们可以借助Linux的xargs命令来批量删除指定的queue:1#删除以hello开头的queue2#由于list_queues会列出队列名称以及对应的消息数⽬,需要过滤掉消息数⽬,配合awk命令只取第1列3 rabbitmqctl list_queues| grep ^hello | awk '{print $1}' | xargs -n1 rabbitmqctl delete_queue。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本地和远程队列的单个队列管理器实现过程----6月份技能提升内容1、基础环境2、安装MQ在第一章中我们已经学会了如何安装MQ了,在这里就不在详细阐述具体步骤了,我们需要是把两台服务器都安装MQ。

安装 WebSphere MQ 前,必须执行 ./mqlicense.sh,以阅读和接受许可证。

安装所需的 MQ 包及 WebSphere MQ Java 和 IBM Java SDK 包,以便为WebSphere MQ 开发 Java 客户机:[mqm@product240 install] # rpm -ivh IBMJava2-SDK-1.4.2-0.0.i386.rpm [mqm@product240 install] # rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm[mqm@product240 install] # rpm -ivh MQSeriesServer-6.0.0-0.i386.rpm [mqm@product240 install] # rpm -ivh MQSeriesJava-6.0.0-0.i386.rpmWebSphere MQ 现在已经完成安装,并有用于进行配置的名为 mqm 的用户和组。

缺省情况下,WebSphere MQ 安装在 /opt/mqm 中,队列和其他配置信息位于用户 mqm 的主目录中。

Java SDK 安装在 /opt/IBMJava2-142 中,Java 解释程序位于 /opt/IBMJava2-142/bin 中。

3、MQ TCP连接配置命令在配置之前有必要先了解一下WebSphere MQ 术语和定义1)WebSphere MQ 术语和定义队列管理器---提供队列服务和 API 及用于管理队列的管理功能的系统管理程序。

队列---消息所发送到的命名目的地。

本地队列---位于队列管理器本地的队列。

远程队列---驻留在其他队列管理器(可能位于其他主机上)的队列。

传输队列---以远程队列为目标的临时消息队列。

通道---队列管理器之间的通信路径。

侦听器---从客户机或其他队列管理器接受网络请求。

命令服务器---验证命令并将有效命令发送到命令处理器(后者随后执行命令)。

2)MQ TCP连接配置命令在product240机器上执行如下操作创建队列管理器[mqm@product240 ~] # crtmqm QM_LINUX240启动队列管理器[mqm@product240 ~] # strmqm QM_LINUX240使用MQ控制台命令RUNMQSC配置runmqsc QM_LINUX240●创建死信队列:DEFINE QL(RE240.DEADQ) DEFPSIST(YES)●更改队列管理器属性, 设置死信队列为NT.DEADQ ALTER QMGR DEADQ(RE240.DEADQ)●创建本地传输队列RE242:DEFINE QLOCAL(RE242)+ USAGE(XMITQ) +DEFPSIST(YES)●创建远程队列 TO.RE242 , 对应于 RE242 上的本地队列 FROM.RE240,传输队列为RE242:DEFINE QREMOTE(TO.RE242) + RNAME(FROM.RE240) + RQMNAME(QM_LINUX242) + XMITQ(RE242)●创建发送通道 RE240.TO.RE242, 使用 TCPIP 协议,远程主机地址为192.168.1.242 port为1414, 传输队列为RE242:DEFINE CHANNEL(RE240.TO.RE242)+ CHLTYPE(SDR) + CONNAME('192.168.1.242(1414)') + XMITQ(RE242)●创建本地监听DEFINE LISTENER(LN240) + TRPTYPE(TCP) +PORT(1414) + IPADDR(192.168.1.240) + CONTROL(QMGR)在product242机器上执行如下操作创建队列管理器[mqm@product242 ~] # crtmqm QM_LINUX242启动队列管理器[mqm@product242 ~] # strmqm QM_LINUX242使用MQ控制台命令RUNMQSC配置runmqsc QM_LINUX242●创建死信队列:DEFINE QL(RE242.DEADQ) DEFPSIST(YES)●更改队列管理器属性, 设置死信队列为NT.DEADQ ALTER QMGR DEADQ(RE242.DEADQ)●创建本地队列FROM.RE240:DEFINE QLOCAL(FROM.RE240) DEFPSIST(YES)●创建接收通道 RE240.TO.RE242, 使用 TCPIP 协议,传输队列为RE240:DEFINE CHANNEL(RE240.TO.RE242) CHLTYPE(RCVR)●创建本地监听DEFINE LISTENER(LN242) + TRPTYPE(TCP) +PORT(1414) + IPADDR(192.168.1.242) + CONTROL(QMGR)3)分别启动两节点监听runmqlsr –t TCP –p 1414 –m QM_LINUX240 &runmqlsr –t TCP –p 1414 –m QM_LINUX242 &4)启动通道runmqchl -m QM_LINUX240 -c RE240.TO.RE242 &或者到MQ控制台里面执行如下命令启动Runmqsc QM_LINUX240start CHANNEL(RE240.TO.RE242)5)MQ TCP连接验证RE240 向 RE242 发送消息,RE240端运行:$ cd /opt/mqm/samp/bin./amqsput TO.RE242 QM_LINUX240在提示下输入字符,每条消息以回车键作结束。

若不输任何字符,击回车键时将退出该程序。

RE242端在/usr/lpp/mqm/samp/bin 下,运行:$ cd /opt/mqm/samp/bin./amqsget FROM.RE240 QM_LINUX242两个MQ队列管理器之间互相放消息的实现基于第三章实现的过程,现在我们来实现两个MQ队列管理器之间互相放消息。

MQ TCP连接配置命令在product242机器上执行如下操作创建队列管理器[mqm@product242 ~] # crtmqm WMQM242启动队列管理器[mqm@product242 ~] # strmqm WMQM242查看队列管理器使用MQ控制台命令RUNMQSC配置runmqsc WMQM242●创建死信队列:DEFINE QL(WMQM240.DEADQ) DEFPSIST(YES)●更改队列管理器属性, 设置死信队列为NT.DEADQ ALTER QMGR DEADQ(WMQM240.DEADQ)●创建本地传输队列WMQM240:DEFINE QLOCAL(WMQM240)+ USAGE(XMITQ) +DEFPSIST(YES)●创建远程队列 TO. WMQM240 , 对应于 WMQM240 上的本地队列 FROM.WMQM242, 传输队列为WMQM240:DEFINE QREMOTE(TO.WMQM240) + RNAME(FROM.WMQM242) + RQMNAME(WMQM240) + 队列管理器的名字XMITQ(WMQM240)●创建发送通道 WMQM242.TO.WMQM240, 使用 TCPIP 协议,远程主机地址为192.168.1.240 port为1415, 传输队列为WMQM240:DEFINE CHANNEL(WMQM242.TO.WMQM240)+ CHLTYPE(SDR) + CONNAME('192.168.1.240(1415)') + XMITQ(WMQM240)●创建本地监听DEFINE LISTENER(LN242) + TRPTYPE(TCP) +PORT(1415) + IPADDR(192.168.1.242) + CONTROL(QMGR)说明:上面的监听其实可以不用创建了,因为在第三章的时候已经创建完成了在product240机器上执行如下操作创建队列管理器[mqm@product240 ~] # crtmqm WMQM240启动队列管理器[mqm@product240 ~] # strmqm WMQM240查看队列管理器状态使用MQ控制台命令RUNMQSC配置runmqsc WMQM240●创建死信队列:DEFINE QL(WMQM240.DEADQ) DEFPSIST(YES)●更改队列管理器属性, 设置死信队列为WMQM240.DEADQ ALTER QMGR DEADQ(WMQM240.DEADQ)●创建本地队列FROM.WMQM242:DEFINE QLOCAL(FROM.WMQM242) DEFPSIST(YES)●创建接收通道 WMQM242.TO.WMQM240, 使用 TCPIP 协议,传输队列为WMQM242:DEFINE CHANNEL(WMQM242.TO.WMQM240) CHLTYPE(RCVR)●创建本地监听DEFINE LISTENER(LN240) + TRPTYPE(TCP) +PORT(1415) +IPADDR(192.168.1.240) + CONTROL(QMGR)3)分别启动两节点监听runmqlsr –t TCP –p 1415 –m WMQM240 &runmqlsr –t TCP –p 1415 –m WMQM242 &4)在发送端启动通道runmqchl -m WMQM242 -c WMQM242.TO.WMQM240 &或者到MQ控制台里面执行如下命令启动Runmqsc WMQM242start CHANNEL(WMQM242.TO.WMQM240)在接收端查看5)MQ TCP连接验证WMQM242 向 WMQM240 发送消息, WMQM242端运行:$ cd /opt/mqm/samp/bin./amqsput TO. WMQM240 WMQM242在提示下输入字符,每条消息以回车键作结束。

若不输任何字符,击回车键时将退出该程序。

WMQM240端在/usr/lpp/mqm/samp/bin 下,运行:$ cd /opt/mqm/samp/bin./amqsget FROM.WMQM242 WMQM2406)总结:至此实现了两个MQ队列管理器之前相互放消息的目的。

相关文档
最新文档