Websphere MQ 监听器
admin
2024-03-19 11:27:09

MQ监听器管理

在本地队列管理器可以将消息发送到远程队列管理器之前,我们需要为远程队列管理器启动一个监听器。默认的 MQ 监听器端口 号是 1414 ,如果我们使用这个端口,那么我们在发出启动监听器 命令时就不必指定端口号 。本节介绍我们如何管理 MQ 侦听器。我们将研究定义、启动和停止 Listener 的不同方式。

定义/启动 MQ 侦听器:

有两种定义和启动 MQ 监听器的方法:
第一种方法使用运行 Listener  RUNMQLSR 命令。该命令的参数是连接类型 ( -t )、队列管理器名称 ( -m ) 和要启动的端口号 ( -p )。因此,如果我们想在端口 1450 上为队列管理器 QMA启动 TCP 侦听器,我们将发出:

$ runmqlsr -t tcp -m QMA -p 1450

可以将此命令放入批处理文件 ( SYSA_QMA_START_RUNMQLSR.BAT ) 中,并且在 UNIX 中可以使用 nohup 和 & 选项运行:

$ nohup runmqlsr -t tcp -m QMA -p 1450 &

为队列管理器 QMB 在端口 1451 上启动 TCP 侦听器的命令是:

$ nohup runmqlsr -t tcp -m QMB -p 1451 &

可以将此命令放入 SYSB_QMB_START_RUNMQLSR.BAT 批处理文件中。

第二种方法  使用以下 RUNMQSC命令文件从MQSC环境创建监听器:

DEFINE LISTENER (QMA1450) +
TRPTYPE (TCP) +
PORT (1450) +
CONTROL(QMGR)

在此文本文件中,我们为监听器指定了一个名称 ( QMA1450 ),并为该监听器分配了一个端口号。显示的最后一个参数是 CONTROL,它决定了监听器的启动方式,可能的选项是 MANUAL、  QMGR和 STARTONLY,这意味着:

·          MANUAL:(默认)Listener 不会自动启动或自动停止。它是通过使用 START LISTENER 和 STOP LISTENER 命令来控制的。
·          QMGR:被定义的监听器将在队列管理器启动和停止的同时启动和停止。
·          STARTONLY:侦听器将在队列管理器启动的同时启动,但不会在队列管理器停止时请求停止。

如果要手动控制监听器,则可以使用从 MQSC 环境发出的以下命令启动它:

:start listener(QMA1450)

所以回顾一下,如果我们使用 MQ 命令 ( RUNMQLSR ) 启动一个监听器,那么我们不能给它一个名字,我们必须在每次启动队列管理器时手动启动它。如果我们使用来自MQSC 环境的文本文件,那么我们可以命名监听器并让它在队列管理器启动时启动。

要启动监听器,请分别在QMA 和 QMB上发出以下命令  :

start runmqlsr -t tcp -m QMA -p 1450
start runmqlsr -t tcp -m QMB -p 1451

这两个命令都可以分别包含在批处理文件 SYSA_QMA_START_RUNMQLSR.BAT 和SYSB_QMB_START_RUNMQLSR.BAT 中。
根据您站点的标准,您可以根据第二种方法创建监听器。

显示 MQ 侦听器:

我们所说的“显示”MQ Listener 的意思是首先检查 Listener 是否实际运行,其次显示 Listener 的属性。让我们首先看看检查 Listener 是否正在运行。

如果监听器是使用 RUNMQLSR  MQ 命令启动的:

$ runmqlsr -t tcp -m QMA -p 1450 &

然后这将创建一个监听器,其名称的格式为 SYSTEM.LISTENER.TCP.。我们可以通过发出 DISPLAY LSSTATUS MQSC 命令检查此侦听器是否正在运行:

: display lsstatus(*)

你会看到:

AMQ8631: Display listener status details.
LISTENER(SYSTEM.LISTENER.TCP.3)                    STATUS(RUNNING)
PID(12912)

我们可以看到状态是 RUNNING。PID 对应于 UNIX  ps –ef命令的 输出:

$ ps -ef | grep -i "runmqlsr"
mqm 12912 1 0 14:14 pts/1 00:00:00 runmqlsr -t tcp -m QMA -p 1450
db2instp 15937 10695 0 14:43 pts/1 00:00:00 grep -i runmqlsr

如果监听器是使用文件中的 MQSC 命令创建的(如前所示),那么我们可以为监听器命名 ( QMA1450 )。现在我们可以使用DISPLAY LSSTATUS MQSC 命令检查监听器是否正在运行:

: display lsstatus(*)

你会看到:

AMQ8631: Display listener status details.
LISTENER(QMA1450)         STATUS(RUNNING)
PID(2360)

我们当然可以指定我们的监听器名称来代替星号:

: display lsstatus(QMA1450)
AMQ8631: Display listener status details.
  LISTENER(QMA1450)       STATUS(RUNNING)
  PID(2360)                            STARTDA(2009-02-19)
  STARTTI(16.41.41)                                 DESCR( )
  TRPTYPE(TCP)                                       CONTROL(QMGR)
  IPADDR(*)                          PORT(1450)
  BACKLOG(100)

如果侦听器是使用 MQSC 命令文件创建的,则可以使用 DISPLAY LISTENER MQSC 命令并指定名称来显示其属性:

: display listener(QMA1450)
AMQ8630: Display listener information details.
  LISTENER(QMA1450)       CONTROL(QMGR)
  TRPTYPE(TCP)                                       PORT(1450)
  IPADDR( )                           BACKLOG(100)
  DESCR( )                             ALTDATE(2009-02-19)
  ALTTIME(16.41.41)

如果监听器是使用 RUNMQLSR 命令启动的,那么要显示它的属性,我们需要将参数 ALL 附加到 DISPLAY LSSTATUS 命令:

: display lsstatus(*) all
AMQ8631: Display listener status details.
  LISTENER(SYSTEM.LISTENER.TCP.3)                  STATUS(RUNNING)
  PID(8256)                                                 STARTDA(2010-01-07)
  STARTTI(16.54.54)                                                     DESCR( )
  TRPTYPE(TCP)                                                           CONTROL(MANUAL)
  IPADDR(*)                                              PORT(1450)
  BACKLOG(100)

停止 MQ 侦听器

有两种方法可以停止 Listener。第一种方法使用 ENDMQLSR  MQ 命令,第二种方法使用 STOP LISTENER MQSC 命令。

在以下示例中,我们希望  使用 ENDMQLSR  MQ 命令停止 Queue Manager QMA的侦听器:
$ endmqlsr –w -m QMA
在以下示例中,我们使用 STOP LISTENER MQSC 命令来停止监听器:
: stop listener(QMA1450)

相关内容

热门资讯

摸鱼、钓虾、吃瓜、赏荷…初夏时... 这个周末,一场场充满野趣的“田园嘉年华”在沪郊金山多个农场上演,吸引众多市民带着孩子下乡来,赛跑、吃...
原创 戚... 5月28日,北京环球影城迎来了一对温暖的家庭画面:戚薇和李承铉携三岁半的儿子Seven现身游玩。现场...
滹沱河畔 遇见“诗和远方” 图为市民在滹沱河畔休闲娱乐。 初夏五月,惠风和畅。徜徉在石家庄滹沱河生态区(城区段),澄澈河水蜿蜒...
在迪士尼排队两小时,我才看清V... 文丨沈理 在网上看到一则新闻: 上海迪士尼,创极速光轮排队区。一个父亲牵着七八岁的儿子,已经在烈日...
重庆文旅喊你去吃火锅、观山水、... 本网讯(草原云·正北方网记者 马丽侠)火锅、机车、文创、演艺……5月28日下午,重庆市文化和旅游发展...