【发布时间】:2015-07-21 15:28:22
【问题描述】:
我有一个如下的队列定义:
DEFINE QLOCAL(TRIG.QLOCAL) +
DESCR('Example Queue for Triggering') +
DEFPRTY(0) +
DEFSOPT(SHARED) +
GET(ENABLED) +
MAXDEPTH(5000) +
MAXMSGL(4194304) +
MSGDLVSQ(PRIORITY) +
PUT(ENABLED) +
QDEPTHHI(80) +
QDPHIEV(ENABLED)+
RETINTVL(999999999) +
TRIGTYPE(EVERY) +
PROCESS(TRIG.PROCESS) +
INITQ(TRIG.INITQ) +
USAGE(NORMAL) +
REPLACE
我已经定义了如下流程:
DEFINE PROCESS(TRIG.PROCESS) APPLTYPE(UNIX) +
APPLICID(/appn/sy31/QdepthHiAlert.sh) +
ENVRDATA(' ') +
USERDATA(' ')
DESCR('PROCESS FOR TESTING QDEPTH HIGH EVENT') +
REPLACE
我有一个触发器监视器作为服务运行,如下所示:
SERVICE(TRIGGER_MONITOR) STATUS(RUNNING)
PID(49610840) SERVTYPE(SERVER)
CONTROL(QMGR) STARTCMD(/usr/bin/runmqtrm)
STARTARG(-m PACOHB20 -q SYSTEM.DEFAULT.INITIATION.QUEUE)
这是我的问题:
- 我想,所有的触发消息都会被触发监控脚本处理。如果我们不在
INITQ上配置它,与队列关联的进程将不会运行。对吗? - 如果是,我们的触发器监视器没有在队列的
INITQ(TRIG.INITQ)上运行。我们也必须在INITQ上运行触发器监视器吗? - 当我们为触发配置传输队列时,我们已经定义了触发数据和流程定义。尽管我们没有在启动队列上配置触发器监视器,但通道已启动,因为我们在
system.channel.initiation.queue上有runmqchi。那么runmqtrm和runmqchi的功能类似吗? - 在这里,我们触发了每条消息和队列深度高事件。在这两种情况下,触发消息将被放置到相同的
INITQ。那么,我们如何知道我们收到了什么样的警报呢?
【问题讨论】:
标签: ibm-mq