Anywhere you go, let me go too

關於部落格
對人海闊天空,做事仔細周密
----------------------
因為改了平台後...覺得不是很好用....所以有另外......(評估中)
http://blog.xuite.net/king119wang/myskills
  • 32543

    累積人氣

  • 2

    今日人氣

    0

    訂閱人氣

Setting IBM MQ trigger for Calling a application

從 IBM RedBooks 中 Application Programming Guide這本書,我學到了IBM MQ Trigger的處理原理,如下圖所示:


由這張圖可以發現整個Trigger的處理流程就是,當資料寫入
圖中Application Queue(Local Q)時,Application Q(LocalQ)
的event會將Q的資料傳入我們所設定的initiation Queue中,同時由這張圖可看到,在2的地方,
我們也看到一個Process的地方。由這三件事我們知道,在這個Application Q
中我們至少要設定3樣東西, 就是(1)將該LOCAL Q 的TRIGGER開啟
(2)設定你所要指的使用的PROCESS NAME
 (3) 就是你要指那裏當作你的INIT Q (這個可以自己設,也可以用DEFAULT的)
DEFINE QL(Application Quene Name) REPLACE +
  TRIGGER +
  TRIGTYPE(FIRST) +
  PROCESS(PROCESS NAME) +
  INITQ(INIT QUEUE NAME)
皆下來呢,就是要設 INIT Q 了,如果你不想採用DEFAULT INITQ 那你就必須自己另外建一個
DEFINE QLOCAL(QL.INITQNAME) REPLACE (在探險家中新增一個LOCAL Q,我是使用SYSTEM.DEFAULT.INITIATION.QUEUE當作相似值)
皆下來,就是要設PROCESS了,其實就是PROCESS DEFINE啦!這個地方是我吃最多苦頭的,
其中Application ID就是我們要去呼叫的程式. (含目錄都要填入)...其實我也被搞了很久,因為
剛開始我設start d:kkapp.bat結果monitor跟我說看不懂start,
之後我只寫d:kkapp.bat,結果又跟我說,它看不懂d:....
真的是....逼的我去設了path,後就只寫app.bat,居然就OK了.
但這樣的設法到後面又碰到問題了.

接下來,由圖中4可以看出,寫入initQ中的資料,要有一隻trigger Monitor去看有沒有資料,這隻就是
runmqtrm [-m QMgrName] [-q InitQ] 如果不帶會以預設值帶入,InitQ 預設值就是
SYSTEM.DEFAULT.INITIATION.QUEUE 而 QMgr通常會是1414port那一個.
在cmd下執行這串Command,就會去呼叫Process 來執行了,

但這樣的呼叫方法,必須開個Console視窗,...可能有人可以接受,但我不愛,所以就觀察了一下
MQ探險家的功能,發現有個Service功能,很像,就設了一下,如下所示:
啟動後,就可依原先想要的方式處理了。^^

相簿設定
標籤設定
相簿狀態