任務:訊息-使用一個Windows服務來啟動WebSphere MQ File Transfer Edition客

來源:互聯網
上載者:User

任務:訊息-使用一個Windows服務來啟動WebSphere MQ File Transfer Edition用戶端代理

在使用者的案頭上用 IBM® WebSphere® MQ File Transfer Edition 客 戶端代理替代 FTP 用戶端是向這些檔案傳輸提供企業可見度和可管理性的一個好 方法。使用者可以啟動 WebSphere MQ File Transfer Edition 代理,或將其放置 到開機檔案夾中讓 Windows® 自動啟動它。但如果這個用戶端代理需要在 Windows 伺服器而不是在案頭上運行,應該怎麼辦呢?畢竟伺服器上沒有使用者會 話和開機檔案夾。可以從 fteStartAgent 建立一個服務,但這種服務啟動一個子 進程,因此 Windows 很難監控該進程以重新啟動用戶端代理。也可以直接調用 fteStartAgent 調用的類,但這需要使用一些沒有建檔的(undocumented)介面 ,這些介面可能會在未來的版本中更改。如果可能,最好避免使用未建檔的功能 。這期 “任務:訊息” 將示範如何使用 fteStartAgent 和 WebSphere MQ 觸發機制來解決這個問題。

簡介

在我最早的 WebSphere MQ File Transfer Edition 部署中,我 的用戶端想在一些無人值守的 Windows 伺服器上運行 WebSphere MQ File Transfer Edition 用戶端代理。儘管 WebSphere MQ File Transfer Edition 現 在不提供一個 Windows 服務了,但要使代理作為背景工作運行並不困難。真正的 麻煩是如何使它們具有彈性。fteStartAgent 命令產生一個子進程然後終止。這 意味著,如果配置為一個 Windows 服務,它要麼不能重新啟動,要麼在每個間隔 都嘗試重新啟動。我們可以繞過 fteStartAgent 代理調用底層類來直接啟動這個 代理,但必須小心翼翼,以免使用已建檔的(documented)命令。

我們決 定使用的解決方案是本文的主題。它包含兩部分:作為 SupportPac MA7K 提供的 Windows Service Trigger Monitor 程式,和少量以 Perl 編寫的 “粘合 劑” 代碼。它不僅按照理想的方式啟動 WebSphere MQ File Transfer Edition 代理,實際上它還使這個代理非常難以終止。

核心組件是 SupportPac MA7K,它依賴 WebSphere MQ Client。WebSphere MQ Client 作為 SupportPac MQC7 可用。MA7K 服務串連到一個隊列管理器並監聽所 謂的發起隊列(initiation queue)。隊列管理器被配置為在這個隊列上放置一 條訊息,以響應在 WebSphere MQ File Transfer Edition 代理的命令隊列 (command queue)中到達的一條訊息。收到觸發訊息時,觸發監控器解析將執行 的命令以及任何參數的訊息。這些內容被組裝到一個正在啟動並執行命令列中,然後 控制在其發起隊列上恢複監控的觸發監控器的返回結果。

Perl 代碼是必要的,因為觸發監控器假設將要被啟動的程式已被編寫來將進 行觸發,並將整個 TMC2 觸發訊息作為一個參數傳遞。當然,fteStartAgent 程 序是為人類、而不是觸發監控器編寫的,沒有一個 TMC2 結構看起來怎樣的概念 。因此,如果直接由觸發監控器啟動,它將不能運行。一個小型 Perl 程式充當 fteStartAgent 和觸發監控器之間的一個 “墊片”,使用 TMC2 參數並將其轉換 為 fteStartAgent 本機參數值。Perl 因其字串處理功能而被選中,且它被安 裝在所有版本的 Windows 伺服器上,且隨時可用。它也可以被編譯為一個本機 Windows 可執行檔,這種檔案無需安裝 Perl 即可運行。

最後的步驟是配置隊列管理器以進行觸發。這包括定義一個進程對象和在代理 命令隊列上啟用觸發。進程定義包括將用於啟動代理的完全限定命令,以及將被 啟動的代理的名稱。

當我們在這個項目上安裝第一個代理觸發監控器後,我們發現了其他一些好處 。單個觸發監控器能夠處理同一個 Windows 伺服器上的任意數量的代理。使用觸 發監控器還意味著 WebSphere MQ 管理員可以從隊列管理器啟動或停止遠程客戶 端代理,而無需登入運行代理的 Windows 伺服器。我的客戶遇到的一個問題是 WebSphere MQ 管理員不能直接存取 Windows 伺服器,在這種情況下,遠程啟動 和停止代理的能力尤其有用。

下面的步驟將協助您設定您自己的 Windows 用戶端觸發監控器,以啟動 WebSphere MQ File Transfer Edition 代理。這些說明假定 WebSphere MQ File Transfer Edition 用戶端代理已安裝到 C:\IBM\WMQFTE 且配置目錄是 C:\IBM\WMQFTE\config。我發現,如果使用沒有嵌入空格的短路徑名,那麼在 Windows 上管理 WebSphere MQ File Transfer Edition 將容易得多。運行觸發 監控器的帳戶的路徑中應該有 C:\IBM\WMQFTE\bin 和 Perl 運行時。在開始安裝 本文介紹的工具之前,最好配置 WebSphere MQ File Transfer Edition 代理並 確保其正確運行。

設定並測試一個 Windows 用戶端觸發監控器

安裝 fteTriggerAgent.pl

下載 fteTriggerAgent.pl 檔案並將其放置到 WebSphere MQ File Transfer Edition 代理將啟動並執行伺服器上的 C:\IBM\WMQFTE\bin 目錄中。

這個指令碼假定 WebSphere MQ File Transfer Edition 安裝在 C:\IBM\WMQFTE\ 中,並試圖將記錄檔寫入 C:\IBM\WMQFTE\Logs。如果上述路 徑不存在,指令碼將嘗試建立它。如果您希望來自 fteTriggerAgent.pl 指令碼的日 志檔案被寫入到一個不同的目錄,則需要已變更位元於指令碼頂部附近的 $LogPath 變 量。

這個指令檔應該與 C:\IBM\WMQFTE\bin 中的其餘檔案擁有相同的所有權和 許可權。要運行此指令碼,.pl 副檔名應該與 Perl 可執行檔關聯。(如果您想將 這個指令碼編譯為一個可執行檔,請查看來自 Active State 的 Perl Pro Studio。)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.