IBM MQ-Docker部署及基本操作
本文最后更新于 1261 天前,其中的信息可能已经有所发展或是发生改变。

IBM MQ-Docker部署及基本操作

Docker部署

Docker仓库:https://hub.docker.com/r/ibmcom/mq

docker run --name ibmmq -d \
-e LICENSE=accept \
-e MQ_QMGR_NAME=QM1 \
-p 1414:1414 -p 9443:9443 -p 9157:9157 \
ibmcom/mq

开启控制台

进入docker容器,执行strmqweb

访问地址

https://ip:9443/ibmmq/console

用户名密码可在运行环境配置,默认

User: admin
Password: passw0rd

输出详情控制台url

bash-4.4$ dspmqweb
MQWB1124I: Server 'mqweb' is running.
URLS:
  https://96c67a02cb18:9443/ibmmq/console/
  https://96c67a02cb18:9443/ibmmq/rest/
bash-4.4$ strmqweb

概念

通用

队列管理器:

简单的说就是一个大容器的管理员,这个大容器里放了很多东西。

队列:

大容器里的东西,存放消息的盒子。

通道:

大容器和大容器之间,程序和容器之间进行通讯的途径。

队列管理器

创建:

crtmqm -q qmgrName

eg:

crtmqm BAASDEC_RDMRCVS_GW

或者是crtmqm -q BAASDEC_RDMRCVS_GW(-q是指创建缺省的队列管理器)

或者是 crtmqm -lc -lf 100 -lp 3 -ls 3 BAASDEC_RDMRCVS_GW

或者是crtmqm -lf 51200 -lp 8 -ls 4 -lc -md /AppData/MQData -ld /AppLogs/MQLogs BAASDEC_RDMRCVS_GW

-lc 是采用循环日志

-lf 是每块日志的大小,4k为单位的,100就是100*4k

-lp 是主逻辑日志的数量

-ls 是辅逻辑日志的数量

-md 持久化数据文件的目录

-ld 日志文件的目录

删除:

dltmqm qmgrName

eg:

dltmqm BAASDEC_RDMRCVS_GW

启动:

strmqm qmgrName

eg:

strmqm BAASDEC_RDMRCVS_GW

停止:

受控停止:endmqm qmgrName eg:endmqm BAASDEC_RDMRCVS_GW
立即停止:endmqm -i qmgrName eg:endmqm -i BAASDEC_RDMRCVS_GW
强制停止:endmqm -p qmgrName eg:endmqm -p BAASDEC_RDMRCVS_GW

显示:

dspmq -m qmgrName eg:dspmq -m BAASDEC_RDMRCVS_GW

运行,进入命令行:

runmqsc qmgrName eg:runmqsc BAASDEC_RDMRCVS_GW

队列

本地队列

创建:

define ql (qlName) defpsist (yes) replace

define qlocal(qlName)

eg:

简单本地队列:

define qlocal('QLSdcGzGZEportDxp04') defpsist(yes) maxdepth(1000000) maxmsgl(11000000) replace

传输队列:

简单:define qlocal ('QXGZEportSdcGzDxp04') usage (xmitq) defpsist(yes) maxdepth(1000000) maxmsgl(11000000)

多参数:

DEFINE QLOCAL (BAASDEC_RDMRCVS_TRA) USAGE (XMITQ) DEFPSIST(YES) MAXDEPTH(100000) TRIGGER TRIGTYPE(FIRST) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(BAASDEC.RDMRCVS.CHL) REPLACE

参数介绍:

QLOCAL (BAASDEC_RDMRCVS_TRA):BAASDEC_RDMRCVS_TRA为传输队列名称;

USAGE (XMITQ):定义该队列为传输队列

(参数详解:USAGE

如果是NORMAL代表的是本地队列

如果是XMITQ代表的是传输队列);

DEFPSIST(YES):队列上的消息在队列管理器重新启动时保存了下来

(参数详解:DEFPSIST:队列中消息持久性默认值。
NO 该队列上的消息在队列管理器重新启动时丢失
YES 该队列上的消息在队列管理器重新启动时保存了下来。);

MAXDEPTH(100000):队列上允许的最大消息数为100000;

TRIGTYPE(FIRST):触发类型第一条消息触发,有第一条消息之后开始创建队列

INITQ(SYSTEM.CHANNEL.INITQ):初始队列为SYSTEM.CHANNEL.INITQ

TRIGDATA(BAASDEC.RDMRCVS.CHL):触发数据,也就是触发后要启动的通道为BAASDEC.RDMRCVS.CHL

其中:DEFINE可以缩写为DEF,QLOCAL可以缩写为QL。

删除:

delete qlocal (qlName)

远程队列

创建:

define qremote (qrName) rname (AAA) rqmname (qmgrName) xmitq (qtName)

eg:

简单:

define qremote ('QRGZEportSdcGzDxp04') defpsist(yes) rname ('QLGZEportSdcGzDxp04') rqmname('QMGzMgr') xmitq ('QXGZEportSdcGzDxp04')

较多参数:DEFINE QREMOTE (BAASDEC_RDMRCVS_REMOTEQ) RNAME (RDMRCVS.RECV.BAASDEC.QUEUE) RQMNAME (RDMRCVS.CLUSTER) XMITQ (BAASDEC_RDMRCVS_TRA) CLUSTER (BAASDEC) REPLACE

参数介绍:

QREMOTE (BAASDEC_RDMRCVS_REMOTEQ):发送方远程队列名称BAASDEC_RDMRCVS_REMOTEQ;

RNAME (RDMRCVS.RECV.BAASDEC.QUEUE):接收方的本地接收队列名RDMRCVS.RECV.BAASDEC.QUEUE,这个需要和对手系统确认好,这个就是对方系统配置的本地队列名;

RQMNAME (RDMRCVS.CLUSTER):接收方队列管理器名,RDMRCVS.CLUSTER;

XMITQ (BAASDEC_RDMRCVS_TRA):发送方传输队列名,传输队列BAASDEC_RDMRCVS_TRA;

CLUSTER (BAASDEC):所属的集群为BAASDEC。

其中:DEFINE可以缩写为DEF,QREMOTE 可以缩写为QL。

注意:RNAME 与对方本地队列名相同是需要一样的,否则消息无法发送出去。

删除:

delete qremote (qlName)

死信队列

定义一个死信队列DEADQ

DEFINE QLOCAL(DEADQ)MAXDEPTH(290000) DEFPSIST(YES) REPLACE

设定队列管理器的死信队列

ALTER QMGR DEADQ(DEADQ)

通道

发送通道:CHLTYPE (SDR)

接收通道:CHLTYPE (RCVR)

群集发送通道:CHLTYPE (CLUSSDR)

群集接收通道:CHLTYPE (CLUSRCVR)

MQI连接服务器通道:CHLTYPE (SVRCONN)

发送通道

启动:start channel(cName)
停止:stop channel(cName)
重置:reset channel(cName)

define channel ('CHGZEportSdcGzDxp04') chltype (sdr) conname ('172.16.208.194(1415)') xmitq ('QXGZEportSdcGzDxp04') maxmsgl(11000000) discint(0) trptype (tcp)

DEFINE CHANNEL(BAASDEC.RDMRCVS.CHL) CHLTYPE(SDR) TRPTYPE (TCP) DISCINT(0) CONNAME('22.188.183.244(1817)') XMITQ (BAASDEC_RDMRCVS_TRA) REPLACE

参数介绍:

CHANNEL(BAASDEC.RDMRCVS.CHL):发送通道名为BAASDEC.RDMRCVS.CHL;

CHLTYPE(SDR):CHLTYPE设置通道类型,发送通道;

TRPTYPE (TCP):TRPTYPE 设置通讯协议,TCP;

DISCINT(0) :DISCINT设置通道停止时间间隔(0为永不停止);

CONNAME(‘22.188.XXX.XXX(1X1X)’):连接地址为22.188.XXX.XXX(1X1X);

XMITQ (BAASDEC_RDMRCVS_TRA):传输队列名称为BAASDEC_RDMRCVS_TRA。

接收通道

创建:define channel(cName) chltype(rcvr) trptype(tcp)

define channel ('CHSdcGzGZEportDxp04') chltype (rqstr) conname('172.16.208.194(1415)') maxmsgl(11000000) trptype (tcp)

DEFINE CHANNEL (RDMRCVS.BAASDEC.CHL) CHLTYPE (RCVR) TRPTYPE(TCP) REPLACE

参数介绍:

CHANNEL (RDMRCVS.BAASDEC.CHL):接收通道名为RDMRCVS.BAASDEC.CHL,通常和发送通道的名称互换一下部分内容。

CHLTYPE (RCVR):接收通道。

CONNAME(‘22.188.XXX.XXX(1X1X)’):连接地址为22.188.XXX.XXX(1X1X);

进程定义

创建:define process(pName) appltype(unix) applicid('runmqchl –zzbankO –c oTocchannel')

监听器

监听器是用于监听外界对队列管理器的连接的程序,就是对方MQ管理器来探测,本地要给对方一个回应,监听器就是起这个作用的

创建:

define listener(lName) trptype(tcp) control(qmgr) port(1415)

eg:

创建监听器LSNRPMTS_BAAS

DEFINE LISTENER(LSNRPMTS_BAAS) TRPTYPE(TCP) PORT(4001) BACKLOG(0) CONTROL(QMGR) REPLACE

参数介绍:

LISTENER(LSNRPMTS_BAAS):监听器的名称为LSNRPMTS_BAAS,这个在一众队列管理器中创建一个就好。但是这些队列管理器的端口不能一样;

TRPTYPE(TCP):传输协议类型为TCP;

PORT(4001):端口号为4001;

BACKLOG(0):侦听器支持的最大并发连接请求数,需要根据实际情况来确定;

CONTROL(QMGR):启动/停止控制方式为QMGR

(参数详情:

MANUAL:手动启动/停止

OMGR:随QM启动/停止

STARTONLY:随QM启动,不随其停止)

启动:

start listener(lName)

状态查看

通道:dis chl(*)
通道详细信息:dis chl(name)
监听:dis listener(*)
通道状态:dis chs(*)
序列号查看:dis chs(name) curseqno
通道序列号重置:reset chl(name) seqnum(1)
监听详细信息:dis listener(name)
监听状态:dis lsstatus(*)
队列:dis q(*)
队列详细信息:dis q(name)
查询:

1)dis qmgr或 dis qmgr all

显示队列管理器的全信息。

2)dis qmgr ccsid

显示队列管理器的部分属性信息。

3)dis q(*)

显示某个队列管理器下的全部队列。

4)dis q(*) all

显示某个队列管理器下的全部队列的全部信息。

5)dis ql(*) 和dis ql(*) all

显示某个队列管理器下的全部本地队列(的全部信息)。

6)dis qr(*) 和dis qr(*) all

显示某个队列管理器下的全部远程队列(的全部信息)。

7)dis q(name)

显示某个特定队列的全部信息。

8)dis q(name) CURDEPTH

显示某个特定队列的特定属性信息。

9)dis chl(*)

显示某个队列管理器下的通道信息。

10)dis chs(*)

显示某个队列管理器下的通道状态信息。

11)dis chs(name) curseqno

显示某个队列管理器下的某个通道的某个属性信息。



修改:

这块用来修改一些配置,知道特定的语法格式就好了

1)alter qmgr ccsid(1381)

将队列管理器的ccsid改成1381

2)alter ql(name) get (ENABLED)
将该队列管理器下的本地队列的get参数改为ENABLED。

ccsid

查看:display qmgr ccsid
修改:alter qmgr ccsid(1381)

参考:https://www.cnblogs.com/zhuozige/p/17015682.html

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇