IBM WebSphere MQ消息通道的配置和維護(三)

2.1.4   Sender-requester

Sender/Requester的連接過程稍微複雜一些,如圖3所示。Requester首先與Sender連接,在通知對方連接參數後連接斷開。Sender進行反向連接,消息也是反向傳送的,即由Sender傳給requester。這種反向連接的方式,稱為回調連接(callback connection)。這種模式也常用於做雙向驗證,即雙方必須都要知道對方的通信參數才能完成回調連接。

 

2.1.5   Cluster sender-cluster receiver

在一個cluster環境中,每一個隊列管理器都一個Cluster sender通道,通過這個通道把消息發送到完全資源隊列管理器,每一個隊列管理器也有一個cluster-receiver通道可以用來接收cluster中的消息。

 

在本文中我們不重點介紹cluster sender-cluster receiver通道。

 

2.2 消息通道的觸發機制 2.2.1   觸發器原理

觸發(Triggering),是一種自動啟動應用程序的機制。

隊列管理器把某種條件稱為觸發事件。如果隊列被設置為觸發類型,並且觸發事件發生了,那麼隊列管理器將發送一個觸發消息到一個稱作啟動隊列的隊列中。觸發消息被放置到啟動隊列的過程意味着產生了觸發事件。

處理隊列管理器中的消息是觸發監控程序(Trigger-Monitor Application),他的工作是讀取觸發消息並根據觸發消息的信息做出相應的處理。觸發監控程序沒有什麼特殊,它只不過是從啟動隊列讀取消息的應用程序。

當隊列管理器發現由一條消息到達被觸發的隊列之後,它產生的觸發消息將被存放到啟動隊列中,觸發監控程序將從啟動隊列中取出觸發消息,並根據觸發消息中的內容,啟動相應的消息處理程序來處理被觸發隊列中的消息。

觸發所涉及的對象如下所示:

1)        應用隊列(Application Queue):一個本地隊列並設置為可觸發。當觸發條件滿足時,將會產生觸發消息。

2)        傳輸隊列:如果用觸發方式來啟動通道,則傳輸隊列將對應了觸發的應用隊列。在傳輸隊列的TriggerData屬性中設置為將被啟動的通道名,這將省略進程的定義。

3)        進程定義(Process Object):一個應用隊列可能由一個進程定義對象和它關聯。進程定義中包含應用程序的信息。該應用程序負責從應用隊列中取出消息。

4)        觸發事件:它是一種引起隊列管理器產生觸發消息的事件。

5)        觸發消息:當觸發事件發生時,隊列管理器將產生觸發消息。觸發信息來自於應用隊列和於應用隊列關聯的進程定義,它包含了將要被啟動的程序名。

6)        啟動隊列:一個本地隊列。被用來存發觸發消息的隊列。一個隊列管理器可用擁有多個啟動隊列。一個啟動隊列可以為多個應用隊列服務。

7)        觸發監控器:是一個持續運行的程序,當一個觸發消息到達啟動隊列時,觸發監控器獲取觸發消息,並利用觸發消息中的信息,啟動應用程序來處理應用隊列中的消息,並把觸發消息頭髮送傳遞給應用程序,消息頭中包含應用隊列名。

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營