前言
该文章为系列型文章,对IBMMQ的操作大部分在linux系统中进行,若还未进行软件安装,请移步(一)linux中IBM MQ8.0版本的安装,若刚接触IBMMQ,并对其一无所知的话,请移步(二)IBM MQ基本知识,进行基础知识的了解,若为大神,请忽略
1. 使用账户mqm或组mqm下的账户登录系统
2. 使用dspmq命令查看当前机器上的队列管理器
dspmq
使用命令后无任何输出表示当前机器不存在队列管理器
3. 使用crtmqm命令创建队列管理器QM1,并用dspmq命令进行验证
crtmqm QM1
如图,名为QM1的队列管理器已创建完成,并且当前状态为(Ended immediately)
4. 使用strmqm命令启动队列管理器QM1,再次用dspmq进行验证
strmqm QM1
dspmq
如图,名为QM1的队列管理器已启动,状态为running
5. 使用runmqsc命令启动MQSC界面,并创建本地队列Q1
runmqsc QM1
DEFINE QLOCAL(Q1)
注意:进去MQSC命令界面后,对于已输入的命令不能进行修改,建议自行编辑好命令进行拷贝
6. 使用end命令结束MQSC界面
end
使用end后,推出了MQSC命令界面,进入系统命令界面
7. 使用amqsput命令,向创建的本地队列Q1中写入消息,连续两个enter会结束写入消息的状态
amqsput Q1 QM1
8.使用amqsgbr命令查看队列中的消息
amqsgbr Q1 QM1
9.使用amqsget命令获取队列中的消息
amqsget Q1 QM1
使用amqsget命令时,不会马上结束,会继续监听该队列一段时间,若在监听时间内该队列再次受到新的消息,该未结束的命令则会继续打印新的消息,读者可以自行打开两个shell页进行尝试
注:amqsgbr命令与amqsget命令的不同之处
- amqsgbr 命令查看队列中的消息后,不对队列产生任何影响,队列中的消息不变
- amqsget 命令获取队列中的消息后,会将队列中的消息进行清除,该命令获取过的消息不再存在于队列中
命令总结
dspmq # 显示当前机器上的队列管理器
crtmqm qmgrName #创建新的队列管理器
strmqm qmgrName #启动队列管理器
runmqsc qmgrName #进入MQSC命令界面
DEFINE qlocal(Q1) #定义本地队列
amqsput queueName qmgrName #向队列中保存消息
amqsgbr queueName qmgrName #查看队列中的消息
amqsget queueName qmgrName #从队列中取出消息
参考:将消息发送至本地队列