发布网友 发布时间:2022-04-22 07:40
共1个回答
热心网友 时间:2024-03-01 05:58
Prepare:假设queue的名字叫做local.queue, queue manager的名字叫做 test.queue.manager,mq安装在/opt/mqm下。
1.先确定queue的长度不是0.
$runmqsc test.queue.manager
dis ql('local.queue') curdepth
2 : dis ql('local.queue') curdepth
AMQ8409: Display Queue details.
QUEUE(local.queue) CURDEPTH(1)
如上所示,queue里面是有一个message的,因为curdepth的长度为1。
2.查看queue的message的内容
第一种方式:使用/opt/mqm/samp/bin/amqsget
第二种方式:使用/opt/mqm/samp/bin/amqsbcg
共同点:
都是在命令后面先跟queue的名字,然后再跟queue manager的名字,如下
/opt/mqm/samp/bin/amqsget local.queue test.queue.manager
区别是:
前者只能查看短长度的message,并且会把message取出(还不是太确定后者);遇到长度稍微长一点的就会发出2080的error code.
$/opt/mqm/samp/bin/amqsget local.queue test.queue.manager
Sample AMQSGET0 start
MQGET ended with reason code 2080
Sample AMQSGET0 end
而后者则没有这个;但是amqsbcg显示的message很奇特,连二进制的都同时显示。
MQ传递主干,在世界屡获殊荣。 它帮您搭建企业服务总线(ESB)的基础传输层。IBM WebSphere MQ为SOA提供可靠的消息传递。它为经过验证的消息传递主干, 全方位、 多用途的数据传输, 并帮助您搭建企业服务总线的传输基础设施。
消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
IBM WebSphere MQ 支持两种不同的应用程序编程接口:Java 消息服务(JMS)和消息队列接口(MQI)。在 IBM WebSphere MQ 服务器上,JMS 绑定方式被映射到 MQI。应用程序直接与其本地队列管理器通过使用 MQI 进行对话,MQI 是一组要求队列管理器提供服务的调用。MQI 的引人之处是它只提供 13 次调用。这意味着对于应用程序编程员它是一种非常易于使用的接口,因为大部分艰苦工作都将透明完成的。