IBM MessageBroker筆記系列(一)_第1頁
IBM MessageBroker筆記系列(一)_第2頁
IBM MessageBroker筆記系列(一)_第3頁
IBM MessageBroker筆記系列(一)_第4頁
IBM MessageBroker筆記系列(一)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

IBMIBM MessageBrokerMessageBroker 筆記系列 一 筆記系列 一 前言前言 SOA 已經(jīng)在中國喊了幾年 連象牙塔的大學(xué)生都知道了 但實施的案例并 不多 而作為 SOA 基礎(chǔ)設(shè)施的企業(yè)服務(wù)總線 ESB 在國內(nèi)的應(yīng)用更是稀少 主要都是銀行和電信等大牌企業(yè)在使用 我算非常好彩 打工所在的公司恰好 要為客戶開發(fā)一個基于 MB 和 WAS 的平臺 讓我有很多機(jī)會接觸到 MB 的應(yīng) 用 現(xiàn)在國內(nèi) MB 的資料非常少 主要是 IBM 的紅皮書 可惜全部都是英文的 看起來頗費力 效率也不高 出版物我所知的只有一本 是陳宇翔先生所著的 精通 Websphere Message Broker 中國水利水電出版社 也是目前手 邊唯一的一本參考書 因此希望將這段時間的一些使用心得記下來 作為一個 從未接觸過 SOA 和 MB 甚至沒用過 websphere 產(chǎn)品 的菜鳥 面對這個上 百萬人民幣的龐然大物 應(yīng)該怎樣下手 書評書評 先來說說這段時間翻閱的一些 MB 的書籍 包括紙質(zhì)和電子版 首先是上文說到的 精通 Websphere Message Broker 這本書 本來這種書給人的第一反應(yīng)就是 一本紅 皮書的翻譯 無非就是從 IBM 的各個紅皮書里面摘抄文字 翻譯好之后綜合一下的 大雜 燴 老實說這本書里面的確有很多翻譯的內(nèi)容 比如 MB toolkit 中自帶的一些教程 以 及 MB Information center 里面的部分實例 書的后半部分都是附錄 包括函數(shù)庫 命令庫 等等 但是不可否認(rèn)的是 IBM 的紅皮書 InfoCenter 本身就是相當(dāng)好的教程庫 而這本 書用到其中的內(nèi)容也翻譯的流暢 所以也是方便了國內(nèi)讀者 而且 作者本身也的確有一 些 MB 的使用經(jīng)驗 書中也有他自己的內(nèi)容 所以 這本書作為入門的話 實在是比較辛 苦 因為沒有考慮太多初學(xué)者的難處 內(nèi)容的編排也不太合理 但是作為一本參考書卻是 不錯的選擇 在如今沒什么資料的情況下 最好咬牙堅持看下去 再說說 IBM 提供的電子資源 包括紅皮書和網(wǎng)上資料 以及 InfoCenter 只要你買了 MB 的產(chǎn)品 IBM 自然會提供一堆紅皮書給你 當(dāng)然你也可以慢慢從網(wǎng)上下載 這些紅皮 書很多寫的不錯 但是要從頭看太痛苦 作參考比較好 此外如果你購買 MB 的培訓(xùn) 那 么培訓(xùn)機(jī)構(gòu)也會給你一些 pdf 材料 其實都是 IBM 出品的 這些材料相對易懂 適合入 門 再有就是 developerWorks IBM 的官方技術(shù)網(wǎng)站 里面提供最新最全的資料 有空多 去看看 也可以訂閱它的郵件 最后是 InfoCenter 其實說白了是網(wǎng)頁版的手冊 可以在 線看也可以下載 相對其他來說 難度介于中等 而且不像網(wǎng)站的資源那么零散 所以也 是很好的提高階段的學(xué)習(xí)資料 ESB 產(chǎn)品產(chǎn)品 如果你還不清楚 ESB 的概念 和 IBM 的相關(guān)產(chǎn)品 可以去 IBM 網(wǎng)上查查資料 作為 一個菜鳥我沒法全面評論當(dāng)前的 ESB 產(chǎn)品 只能記錄一下自己的所見所聞 就是跟 IBM 和 BEA 公司打交道的時候聽到的一些內(nèi)容 撇開兩者的應(yīng)用服務(wù)器不談 這方面的口水 戰(zhàn)已經(jīng)夠多了 國內(nèi)用 BEA 的相對多 容易上手適合快速開發(fā) 性價比很高 SOA 和 ESB 方面 IBM 無疑是走在前面的 這個可以從兩者的產(chǎn)品線看出來 BEA 的 ESB 產(chǎn)品 只有一款 AquaLogicBus IBM 卻已經(jīng)開始劃分各類市場 推出不同檔次的產(chǎn)品了 但這 個也是 BEA 宣傳的好處之一 買一個就能到處用 見仁見智了 其二 BEA 自己的銷 售都對 AquaLogic 不甚了解 而且在國內(nèi)尚無成熟應(yīng)用 這點是很多企業(yè)最關(guān)注的 沒有 成熟應(yīng)用意味著沒有好的技術(shù)支持 出了問題不知道找誰解決 甚至從沒有人遇過這種問 題 而 IBM 這兩年在 SOA 的推廣方面做得比較好 廣告也做得多 在國內(nèi)已經(jīng)有一些成 功案例 技術(shù)支持也更加完善 我們在廣州就能直接聯(lián)系到工程師 而不必等北京 上海 甚至國外的支持 MB 在對異構(gòu)環(huán)境的支持方面 做得也比 AquaLogicBus 好 可以支持幾十種通信協(xié) 議和平臺 而且天生和 IBM 自家的大型機(jī)等結(jié)合的比較好 AquaLogicBus 支持的就相對 比較少 主要是基于 java 平臺的 SOA 流行協(xié)議 比如 web service 給人感覺更像是 websphere ESB 的競爭對手 但是 BEA 的產(chǎn)品向來給人的感覺是除了在 IBM 的平臺 其 他平臺上都比 IBM 的同類產(chǎn)品性價比要高 不知道 AquaLogicBus 是不是也一樣表現(xiàn)優(yōu)秀 這個就需要專業(yè)的測試了 另外很重要的一點 就是 BEA 的消息中間件做得不如 IBM 的 MQ 強(qiáng)大 而 MB 又是 依托于 MQ 才能有如此強(qiáng)大的功能 這個是 BEA 的銷售也不得不承認(rèn)的 盡管 Web service 是當(dāng)前 SOA 的主流 但是性能方面卻是不敢恭維 在企業(yè)內(nèi)部實施 SOA 如果服 務(wù)組件都用 web service 連接 雖然更加通用 更加廉價易用 但是往往會有性能瓶頸 關(guān)鍵地方還得靠消息中間件 最后呢 就是 BEA 工作人員對于自家的產(chǎn)品 底氣明顯不足 一方面是不熟悉 另 一方面也是國內(nèi)用的少 也側(cè)面反映了對于這類重量級產(chǎn)品 而且關(guān)乎整個系統(tǒng)性能的底 層部件 人們還是傾向于選擇 IBM 將來 SOA 應(yīng)用普及了 AquaLogicBus 肯定也會遍地 開花 就像現(xiàn)在的 weblogic 一樣 只是目前來看 還是選擇 MB 更讓人放心 還有一個不得不提到的有力競爭者是來自開源社區(qū)的 JBOSS ESB 這個產(chǎn)品我沒了 解過 但是現(xiàn)在 Reahat 收購了 JBOSS 在 JBOSS AS 和 ESB 上也下了相當(dāng)大力氣 誓 要在 SOA 市場與 IBM 和 BEA 分一杯羹 很看好 JBOSS 的潛力 只是開源產(chǎn)品在中國連 個服務(wù)中心都沒有 暫時只能供高手們自己研究著玩了 IBMIBM MessageMessage BrokerBroker 筆記系列 二 筆記系列 二 趕在這周結(jié)束前 再寫一篇 MBMB 概述概述 MB 的全稱是 message broker 即 消息代理 消息 一詞前幾年比較火 消息中間 件也賣的很火 當(dāng)時似乎 J2EE 的產(chǎn)品都要跟 消息 中間件 扯上點關(guān)系 以彰顯潮流 我覺得初學(xué)者只需記住 消息 的異步性即可 也就是 消息 和傳統(tǒng)的網(wǎng)絡(luò)連接 遠(yuǎn)程方法 調(diào)用等的最大區(qū)別 就是你一旦發(fā)出消息以后 不用再管它的死活 中間件會處理一切事務(wù) 出了問題也會通知你 這樣可以更好的分離業(yè)務(wù)邏輯 把消息當(dāng)成郵件的話 那么傳統(tǒng)網(wǎng)絡(luò)連 接就是由你去送信 而中間件則好比郵局 它來提供送信服務(wù) 并且可以跨國境 跨語言 完 全不用你操心 相當(dāng)于中間件可以連接異構(gòu)平臺 使用者只需等在家門口收信 在說 代理 之前 先講一下 MQ 的基本概念 MQ 即 message queue 消息隊列 也就是 IBM 的主打消息中間件產(chǎn)品 IBM 幾乎所有 SOA 相關(guān)的產(chǎn)品 都是構(gòu)建于 MQ 之上的 沒有 MQ 強(qiáng) 大的消息傳輸能力 那么 IBM 很多產(chǎn)品都做不起來 在這里不贅述 MQ 的功能 初學(xué)者只需把 MQ 當(dāng)成一個非??煽康膫鬏斖ǖ兰纯?你只要往里面放東西 MQ 就會把消息傳到目的地 那有了強(qiáng)大的 MQ 還要 代理 干什么呢 如果你用過 MQ 或者類似的產(chǎn)品如 apache 的 開源 JMS 產(chǎn)品 ActiveMQ 就會發(fā)現(xiàn) 盡管用 MQ 不必考慮網(wǎng)絡(luò)連接 平臺異構(gòu) 但是你在配 置的時候 以及使用 MQ 編程的時候 都要指定目的地 比如設(shè)置 IP 地址 這樣的程序依舊存 在很大耦合性 萬一某個組件的 IP 變了 所有跟他相關(guān)的組件都得改動 輕則修改配置文件 重則重寫代碼 這時 代理 的作用就開始凸顯了 所有組件的 MQ 隊列都可以直接連接到 MB 上 MB 相當(dāng)于一個公共服務(wù)中心 MB 接收所有 消息 然后自動分析其中的內(nèi)容 找到相應(yīng)的目的地 進(jìn)行路由轉(zhuǎn)發(fā) 好比你在寫信時 只需 寫明收信人的姓名 身份證 哪怕收信人搬到天涯海角 只要他在 MB 郵局中登記了 那 MB 就 可以把信交給他 這樣進(jìn)一步地分離了業(yè)務(wù)和底層通信 我只需要知道業(yè)務(wù)概念上的 他 就可以把消息交給他 此外 MB 還可以進(jìn)行消息轉(zhuǎn)換 這就像是自動翻譯信件 我現(xiàn)在可以用 中文寫封信給本拉登 我不需要知道他具體藏在哪里 信件就會自動翻譯成阿富汗的文字 送 到本拉登手里 所以 代理的兩個核心功能就是 消息路由 和 消息格式轉(zhuǎn)換 MB 本質(zhì)上也是一 個服務(wù)總線 所有的服務(wù)組件接入到 MB 中 服務(wù)將消息塞給 MB MB 來決定怎么轉(zhuǎn)發(fā) 這樣讓 服務(wù)愈加成為一個獨立的實體 和其他服務(wù)的耦合性進(jìn)一步降低 從而達(dá)到 SOA 的境界 MBMB 初覽初覽 說了那么多大道理 終于開始講到 MB 的具體內(nèi)容了 下面的圖片摘自 IBM 的紅皮書 是 MB 的總體架構(gòu) 我粗略的描述一下 可以看到 MB 里面有兩大塊內(nèi)容 一個是 toolkit 也就是開發(fā)環(huán)境 后面我們會講到 還有一個是 broker domain 即代理域 代理域里面有兩個核心部件 一個是配置管理器 configuration manager 一個是代理 broker 配置管理器其實很像 MQ 的隊列管理器 或者是 WAS 的 deployment manager 都是起到一 個管理作用 在 MB 里當(dāng)然是管理眾多的 broker 了 我們平時對 broker 的管理 維護(hù)操作 其 實都是通過配置管理器完成的 代理 broker 是真正體現(xiàn) MB 設(shè)計思想的地方 上面的圖片中有像流程圖一樣的東西 即 message flow 是消息的流程圖 從什么地方流進(jìn)來 再從什么地方流出去 還有 message set 即消息集 說白了是描述消息長什么樣子 它的結(jié)構(gòu) 內(nèi)容是怎樣的 其實 message flow 對應(yīng)了上文所說的 消息路由 而 message set 則對應(yīng) 消息格式轉(zhuǎn)換 你肯定要清 楚兩種消息的格式 才能定義互相轉(zhuǎn)換的規(guī)則 MB 的外圍是各種類型的應(yīng)用程序 他們接入 MB 的方式可以多種多樣 可以是 Webservice 也可以是數(shù)據(jù)庫 文件 HTTP 連接 等等 不一定局限于 MQ 圓柱體代表的則是數(shù)據(jù)庫了 這是盡 IT 人皆知的 因為 MB 的很多信息 包括配置信息 以及 broker 的運行時信息都要通過數(shù)據(jù)庫保存 broker 本身也可以操作數(shù)據(jù)庫 你可以在流 程的某個節(jié)點上增刪查改某個數(shù)據(jù)庫 下圖是 WMBT websphere mb toolkit 的界面 可以看到 WMBT 是基于 eclipse 的 所以大部分 java 開發(fā)者應(yīng)該能很快上手 開發(fā) MB 程序和開發(fā) J2EE 程序差不多 也是先新建一個項目 然后編輯 最后部署 1 號區(qū)域是一個消息流 可以看到非常直觀 從 MQ 讀入 計算 轉(zhuǎn)換成 web service 格式 發(fā)送 http 請求到 web service 的 url 計算 轉(zhuǎn)換回 MQ 消息格式 放入 MQ 2 號區(qū)域是節(jié)點選擇面板 MB 自帶了幾十種節(jié)點給我們選擇 同時我們也可以自己創(chuàng)建節(jié) 點 3 號區(qū)域是屬性面板 當(dāng)你選擇某個節(jié)點時 可以在其中編輯節(jié)點的屬性 4 號區(qū)域是域連接面板 開發(fā)好的消息流和消息格式 必須首先在 MBT 中連接到對應(yīng)的配 置管理器 再將打包好的流程部署到對應(yīng)的 broker 中 這個過程也可以由命令行完成 5 號區(qū)域則類似 eclipse 的項目集合 里面是所有的 MB 項目 總結(jié)總結(jié) 還是打個比方 首先 我們把 MB 看做一個功能超級強(qiáng)大的路由器 它支持多種接入方式 也就是 MB 路由器上的端口有很多種 MQ 是比較常用的一種方式 所以 MQ 就像常用的 RJ45 接 口的 5 類雙絞線 但同時 MB 還支持 JMS SCADA 等各類接入標(biāo)準(zhǔn) 在 MB 內(nèi)部 我們管理員定義 好路由規(guī)則 編寫消息流 其次 從 MQ 過來的信號 可以轉(zhuǎn)換成其他網(wǎng)絡(luò)協(xié)議的信號 消息 格式轉(zhuǎn)換 這類似于網(wǎng)橋功能 可以跨越不同網(wǎng)絡(luò) 同時 MB 的性能非常好 可以進(jìn)行大數(shù) 據(jù)量交換 這一點又很像是交換機(jī) 最后 MB 可以理解業(yè)務(wù)邏輯 它的路由不僅像路由器那樣 針對消息頭進(jìn)行路由 還可以根據(jù)消息的業(yè)務(wù)內(nèi)容進(jìn)行路由 酷似應(yīng)用網(wǎng)關(guān) IBMIBM MessageMessage BrokerBroker 筆記系列 三 筆記系列 三 安裝配置安裝配置 準(zhǔn)備工作準(zhǔn)備工作 MB 的運行依賴于 MQ 所以首先要安裝 MQ MQ 的具體安裝過程略 并且以后假設(shè)你已經(jīng)有 關(guān)于 MQ 的基礎(chǔ)知識 比如隊列管理器 隊列 通道 等等 安裝好 MQ 后 創(chuàng)建一個隊列管理器 簡稱 QM 名為 TESTQM MQ 里面的對象是區(qū)分大 小寫的 為了避免不必要的麻煩 這里統(tǒng)一用大寫 以下劃線分隔 這個隊列管理器是 MB 運 行的基礎(chǔ) 當(dāng)你用 MB 的腳本創(chuàng)建配置管理器 代理和執(zhí)行組時 都要指定 QM 的名字 然后創(chuàng)建運行時數(shù)據(jù)庫 名為 TESTDB MB 自帶了 derby 你也可以選擇 DB2 注意此處的 數(shù)據(jù)庫是指 MB 自身運行所需的數(shù)據(jù)庫 目前 6 1 版本只能用 derby 或者 DB2 創(chuàng)建的方法 可 以用 MB 的腳本命令 mqsicreatedb 也可以用對應(yīng)數(shù)據(jù)庫自身的腳本命令或圖形界面來創(chuàng)建 關(guān)于關(guān)于 MBMB 的數(shù)據(jù)庫 的數(shù)據(jù)庫 配置管理器只能用 derby 而代理可以用多種數(shù)據(jù)庫 只是不同數(shù)據(jù)庫的創(chuàng)建命令各自不 同 包括在不同平臺上也有差異 具體參考紅皮書 代理的數(shù)據(jù)庫可以共用 配置管理器也 可以和某個代理共用一個 derby 數(shù)據(jù)庫 使用 mqsicreatedb 創(chuàng)建數(shù)據(jù)庫時 如果你已經(jīng)安裝了 DB2 則默認(rèn)創(chuàng)建一個 DB2 數(shù)據(jù)庫 否則 derby 以上是為以上是為 MBMB 的運行創(chuàng)造運行時環(huán)境 接下來開始創(chuàng)建的運行創(chuàng)造運行時環(huán)境 接下來開始創(chuàng)建 MBMB 的實例的實例 首先當(dāng)然是要安裝 MB 了 過程挺簡單的 略去不表 安裝完成后 會在 開始菜單 中 有個 命令控制臺 如下圖 單擊它 進(jìn)入 MB 的一個命令控制臺環(huán)境 其實和普通的 windows 命令控制臺沒什么區(qū)別 主要在于它幫你設(shè)好了相關(guān)的環(huán)境變量 你就可以在里面直接輸入 MB 的命令腳本了 前文提到過 MB 的配置管理器是用來統(tǒng)一管理 MB 的各個運行時組件的 因此首先要創(chuàng)建 一個配置管理器 mqsicreateconfigmgr i user a password q TESTQM 指定用戶名 密碼和隊列管理器 用戶名密碼是你登陸本地機(jī)器時輸入的 必須要有足夠 的權(quán)限 具體權(quán)限就不清楚了 我直接用管理員帳號 深入討論請參考 MB 的紅皮書 你會發(fā)現(xiàn)這里沒有指定數(shù)據(jù)庫的名稱 因為配置管理器在創(chuàng)建時會自動新建一個 derby 數(shù) 據(jù)庫 而且只能用 derby 數(shù)據(jù)庫 用戶無法改動 配置管理器的名稱也沒有指定 在 windows 下是會創(chuàng)建默認(rèn)名稱的 ConfigMgr 然后是創(chuàng)建代理 名為 TESTBROKER mqsicreatebroker TESTBROKER i user a password q TESTQM n TESTDB 大部分都和創(chuàng)建配置管理器一樣 只是多了一個選項 用于指定數(shù)據(jù)庫 再次提醒 必須 是 derby 或 DB2 二選一 最后 使用 mqsistart 組件名 來啟動配置管理器和代理 配置配置 MBMB toolkittoolkit WMBT 本身的安裝沒什么特殊要求 這里就不啰嗦了 接下來的關(guān)鍵是在 WMBT 里面連接到剛才創(chuàng)建的配置管理器 其作用就好像你在 Eclipse 中要配置好應(yīng)用服務(wù)器的實例 才能把你的 J2EE 項目直接以圖形界面的方式部署 而不必自己 敲命令 如圖 文件 新建 域連接 在彈出的窗口中 填入相關(guān)參數(shù) 這里只需填入隊列管理器的名稱 域名 端口 注意是隊列管理器而不是配置管理器 其 實你在創(chuàng)建配置管理器時也沒有指定端口 因為它用的就是所在的隊列管理器的端口 此外對于 SVRCONN 通道名 SYSTEM BKR CONFIG 是在你創(chuàng)建配置管理器時自動生成的 可 以在 MQ 資源管理器 中 通過 顯示系統(tǒng)對象 來查看 你也可以自己建一個服務(wù)器連接通 道 然后在這里輸入該通道的名字 一切正常的話 就能看到左下角的 域 窗口中 多了一個新的域連接 里面以樹形結(jié)構(gòu)顯示了你剛才創(chuàng)建的代理 前提是你的代理基于 derby 數(shù)據(jù)庫 如果基于 DB2 則需要在域連接那里顯式增加 代理引用 現(xiàn)在你可以右鍵 單擊 TESTBROKER 然后創(chuàng)建執(zhí)行組 等你開發(fā)好 MB 項目后 打個包 拖 到執(zhí)行組里面 就可以部署了 IBM MessageBroker 筆記系列 四 筆記系列 四 前面講了那么多 MB 的原理和配置 這一篇 blog 開始正式講講我個人學(xué) MB 的感受 假如時間可以重來 我會怎樣利用手頭的資源 以最快的速度 入手 體驗體驗 MB 在安裝完 WMBT 之后 會出現(xiàn) 歡迎 這個也是 eclipse 環(huán)境安裝后都會 有的東西 你也可以在 幫助 歡迎 里面找到 里面有不少很淺顯的例 子 讓你對 MB 是如何工作的有個感性認(rèn)識 強(qiáng)烈建議把里面的 入門 部分 看完 學(xué)習(xí)開發(fā)學(xué)習(xí)開發(fā) 看完 入門 后 重點就應(yīng)該放在 樣例 中 在樣例庫里面 有數(shù)十個 基礎(chǔ)的樣例 每個樣例都針對某類節(jié)點 比如消息映射 JMS 數(shù)據(jù)庫操作 Webservice 調(diào)用 等等 那么多的例子 當(dāng)然不可能一下子看完 而且對于一 張白紙的新手 里面有些基礎(chǔ)知識還不懂 我的建議是 結(jié)合之前提到的那本 書 精通 Websphere Message Broker 看完一方面的內(nèi)容 比如數(shù)據(jù)庫操作 你就可以打開 樣例庫 將里面的數(shù)據(jù)庫樣例導(dǎo)入至 WMBT 然后看看其中 的 ESQL 代碼 相關(guān)節(jié)點的設(shè)置 等等 一開始會比較枯燥 而且讓這些樣例 跑起來也不是件容易的事情 但堅持下去就會慢慢體會到其中的樂趣了 掌握掌握 Debug 利器利器 一般來說 WMBT 會自動幫你配置好樣例程序運行所需的環(huán)境 比如創(chuàng)建 隊列管理器 數(shù)據(jù)庫 等等 然后將樣例部署到 MB 的執(zhí)行組中 這一切都是 自動完成的 但有時候出于各種原因 試運行樣例的時候不能得到預(yù)期的結(jié)果 首先排除掉打包和部署時的錯誤 因為樣例程序的源代碼通常是沒有問題的 那么余下的問題就只能靠 debug 來解決了 另一方面 當(dāng)你看了書之后 對 InputRoot Environment ExceptionList 這些東西的結(jié)構(gòu) 細(xì)節(jié)肯定會很好奇 但是書中提到的很少很零散 最好的方法就是在 debug 模式下 讓消息流掛起 在某一點 然后你再慢慢瀏覽其中的各類變量 很多東西都不言自明了 用 IBM 工程師的話說 就是 沒有 debug 就根本沒法學(xué)會 MB 為什么 相關(guān)資 料太少了 去 google 有時候還不如直接問 MB 自己 所以也是很考驗?zāi)愕淖詫W(xué) 能力的 配置配置 debug 環(huán)境環(huán)境 這些內(nèi)容在 精通 那本書中都有講到 只是比較粗略 我在這里補(bǔ)充我 個人的經(jīng)驗 首先右鍵單擊某個執(zhí)行組 屬性 在 JVM 調(diào)試端口 中輸入一個 tcp 端口號 不要和其他程序沖突就行 假設(shè) 9090 再次右鍵執(zhí)行組 調(diào)試 啟用調(diào)試 9090 然后 切記 重啟執(zhí)行組所在的 broker 重啟后 把 bar 文件部署到該執(zhí)行組 然后進(jìn)入 debug 視圖 找到下圖 右下角的那個按鈕 如果是該按鈕是紅色的 說明 debug 守護(hù)程序沒有啟動 如果是綠色的 鼠標(biāo)移過去 會顯示 debug 守護(hù)程序正在監(jiān)聽 XX 端口 需要注意的是 這 里的端口可不是之前在執(zhí)行組設(shè)置的端口 剛好相反 必須和之前的 9090 不同 單擊旁邊的下拉箭頭 可以啟動或者更改守護(hù)程序的端口 這里改為 9099 不 必重啟 接下來 就和一般的 eclipse 調(diào)試一樣了 在綠色的小昆蟲按鈕設(shè)置 debug 參數(shù) 新建一個 debug 注意這里的 java 調(diào)試端口 則必須與執(zhí)行組的一致 你也可以 選擇執(zhí)行組 系統(tǒng)會根據(jù)你選擇的執(zhí)行組 自動設(shè)置端口 然后 在 源 選項卡中 添加你要調(diào)試的項目 確定之后 就可以運行 debug 了 What next debug 配置成功后 就開始慢慢研究那些樣例吧 按照之前我說的思路 書本 樣例 按照每個人自己的學(xué)習(xí)習(xí)慣和項目開發(fā)的需要 將你要學(xué)習(xí)的 樣例 一步步調(diào)試過去 看看每條 ESQL 語句的結(jié)果 很快的你就知道其中的 運行機(jī)理了 小結(jié)小結(jié) 由于 MB 不能像 java 那樣 輸出東西到控制臺 只能輸出到日志文件 而 且還得寫一堆語句 或者配置 trace 節(jié)點 很麻煩 所以傳統(tǒng)的在程序中插入輸 出語句的方式在這里沒太大意義 很多情況下 要依靠 debug 來觀察消息流執(zhí) 行過程中消息的變化 來決定 bug 的所在 IBM MessageBroker 筆記系列 五 筆記系列 五 學(xué)習(xí)資源學(xué)習(xí)資源 專門整理一下最近用到的一些學(xué)習(xí)資源 并稍作評論 一 一 精通精通 Websphere Message Broker 其實對這本書 我是愛恨交加 一方面 它是僅有的一本中文的紙質(zhì)圖書 也是我翻得 最多的一本參考書 另一方面 它也就是參考書 作為入門的圖書太難了 編排也不怎么樣 但是總的來說 開發(fā) MB 還是少不了它呀 當(dāng)你要查某個節(jié)點的用法 某個 ESQL 函數(shù)的參數(shù) 大部分人還是傾向于翻書而不是翻一堆英文資料吧 二 二 Websphere Message Broker InfoCenter 這個東西的使用頻率是僅次于上面那本書的 比起書來說 有哪些好處呢 首先是內(nèi)容 量大而且全 幾乎你要找的所有信息都能在里面找到 此外 電子資源的一大好處是可以搜索 可以用金山詞霸 對于一些書上沒有的或者你根本不知道躲在哪個角落的信息 用這個最方便 了 但是不足之處也顯而易見 首先是全英文 看起來比較費力 另外是對著屏幕上一頁頁 的英文看半天 個人感覺對眼睛很不好 很費精力 三 三 IBM 技術(shù)支持技術(shù)支持 IBM 的服務(wù)分為收費與免費兩種 當(dāng)你購買了相關(guān)產(chǎn)品后 就能獲得相關(guān)的技術(shù)支持 一般是指派一兩個售后工程師 你可以隨時聯(lián)系他們 包括手機(jī)和電郵 當(dāng)你在開發(fā)中遇到問 題時 大可不必客氣地狂問他們問題 能不能給你個滿意的答復(fù)就看情況了 因為有些問題不 面對面交流是無法描述清楚的 而要他們過來你這邊通常需要預(yù)約 IBM 的工程師都很忙 貌 似事情特別多 三天兩頭開會 培訓(xùn)學(xué)習(xí)什么的 而且 作為專業(yè)服務(wù)隊伍的一大特點 就是只負(fù)責(zé)他熟悉的產(chǎn)品 假如你的問題是 MB 和 spring 里面某個東西通過 MQ 互聯(lián)失敗 那他們首先會嘗試解決 MB 這邊的問題 如果不 行 那就不好意思了 spring 不是 IBM 的 同時也不是我熟悉的 你去找 spring 的廠商吧 或者還可以給你一個 MQ 工程師的聯(lián)系方式 其實很多這些問題都是要聯(lián)調(diào)的各方一起解決 的 只是 如果你真要這么做 先掏服務(wù)費吧 因為這種問題涉及到具體項目開發(fā) IBM 可不 是慈善機(jī)構(gòu) 還有一種情況 就是 IBM 的工程師也不曾遇過的問題 比如某些產(chǎn)品的新特性連他們都 沒有被培訓(xùn)過 那就比較痛苦了 所以要找其他方法 總不能干等到他們學(xué)習(xí)完了再來指導(dǎo)你 吧 四 四 MQSeries 論壇論壇 這個論壇特別好 囊括了 IBM MQSeries 的所有產(chǎn)品 里面有專門的 WMB 區(qū) 很多高手 在里面回答問題 我甚至覺得 真想深入研究 MB 平時可以多去那里逛逛 上次關(guān)于 webservice 的一個問題 IBM 的技術(shù)支持都不清楚 因為是 6 1 版本的新特性 最后還是這里 的高手解答的 這是國外的一個論壇 發(fā)帖看帖之余 還能練習(xí)英文 何樂而不為呢 五 五 IBM 網(wǎng)上資源網(wǎng)上資源 這個的范圍比較廣了 從紅皮書到 developerWorks 社區(qū) 里面有很多你想要的東西 只 是 dw 社區(qū)的文章中英文混雜 找起來比較費力 個人還是把這里當(dāng)成學(xué)習(xí)的地方而不是緊急 時候的參考資料 閑暇之余在這里瀏覽那些 IBM 專家發(fā)的文章 不僅圖文并茂 版面工整 文 章質(zhì)量高 水平也由淺及深 各種層面的都有 實在做得很不錯 建議我們這些菜鳥或者技術(shù) 狂去訂閱 dw 的郵件吧 經(jīng)常會發(fā)送 新手入門 之類的電子雜志 小結(jié)小結(jié) 暫時用到想到的就這些了 MB 的確不好學(xué) 不然 IBM 也不會把培訓(xùn)和服務(wù)費收這么貴 了 可見 IBM 真是很狡猾 把軟件做得難用又不肯出一些系統(tǒng)的基礎(chǔ)教材 擺明是要宰你一筆 呵呵 如果你也對 MB 有研究 歡迎一起探討 交流更多好用的資源 可以省錢 IBM MessageBroker 筆記系列 六 筆記系列 六 前面幾篇筆記 都是討論 MB 是什么 怎么配置 怎么 debug 以及一些 學(xué)習(xí)資源和心得 接下來的幾篇會針對 MB 開發(fā)中一些常見的問題 分門別類 進(jìn)行歸納總結(jié) 包括數(shù)據(jù)庫 WebService ESQL 語法細(xì)節(jié) 等等 這些細(xì)節(jié) 問題都是我本人在這兩個月的開發(fā)過程中遇到的 相信對很多新人都有借鑒作 用 數(shù)據(jù)庫操作數(shù)據(jù)庫操作 配置配置 MB 的用戶數(shù)據(jù)庫的用戶數(shù)據(jù)庫 前面已經(jīng)講了在創(chuàng)建 MB 運行時實例時 配置數(shù)據(jù)庫的基本過程了 但那 里所指的數(shù)據(jù)庫是 MB 自己運行時需要的數(shù)據(jù)庫 用來存放諸如 broker 執(zhí)行 組 消息流等的信息 而現(xiàn)在開發(fā)的企業(yè)應(yīng)用程序 幾乎沒有不用到數(shù)據(jù)庫來 存放業(yè)務(wù)數(shù)據(jù)的 所以這里主要講述如何配置 用戶數(shù)據(jù)庫用戶數(shù)據(jù)庫 也即你的應(yīng)用程 序使用的數(shù)據(jù)庫 下面以 MB 6 1 Oracle 10g 為例 介紹配置過程 一 一 ODBCODBC 數(shù)據(jù)源數(shù)據(jù)源 MB 是通過 ODBC 來操作數(shù)據(jù)庫的 因此首先要配置好操作系統(tǒng)本身的 ODBC 數(shù)據(jù)源 Windows 中配置 ODBC 很容易 在此不贅述細(xì)節(jié) 需要注意的是 選擇 Oracle 數(shù)據(jù)源驅(qū)動時 一定要選擇下圖所示的 MB 自帶的 Oracle 驅(qū)動 我在創(chuàng)建 ODBC 時 一開始沒有在本機(jī)安裝 Oracle 結(jié)果 ODBC 無法使用 報告 由于系統(tǒng)錯誤 126 驅(qū)動程序無法加載 問了 IBM 的技術(shù)支持也沒有答 案 后來干脆在本機(jī)安裝了一個 Oracle 不必運行 問題就解決了 估計 MB 自帶的 Oracle 驅(qū)動還是要調(diào)用 Oracle 本身的一些庫的 我對 Oracle 本身基本 不懂 具體用到了哪些庫也不清楚 就先這么用著了 二 二 數(shù)據(jù)庫設(shè)置數(shù)據(jù)庫設(shè)置 這里順手提一下 Oracle 本身的設(shè)置 當(dāng)你新建了 Oracle 的 ODBC 數(shù)據(jù)源 后 會發(fā)現(xiàn)數(shù)據(jù)源設(shè)置里面 沒有 IP 和端口設(shè)置 我在網(wǎng)上搜了一下 最簡單 的方法是直接修改 Oracle 的 tnsnames ora 文件 這個文件位于 oracle root product 10 1 0 db 1 NETWORK ADMIN tnsnames ora 路徑下 可以用記事本打開編輯 里面本身已經(jīng)有樣例了 參照著改很容易 三 三 消息流節(jié)點消息流節(jié)點 MB 中能和數(shù)據(jù)庫打交道的節(jié)點有很多 包括 filter compute 和專門的 數(shù)據(jù)庫節(jié)點 如下圖 基本上 凡是屬性里面可以設(shè)置 數(shù)據(jù)源 的節(jié)點 都可以操作數(shù)據(jù)庫 使用方法很簡單 直接在 數(shù)據(jù)源 屬性中填入操作系統(tǒng)的相應(yīng) ODBC 數(shù)據(jù)源名 稱即可 四 四 代理代理 brokerbroker 的設(shè)置的設(shè)置 這是最后一處要設(shè)置的地方 前面的 tns 文件解決了 ip 和端口的問題 但是數(shù)據(jù)源本身的用戶名和密碼在消息流中并沒有提及 其實這是通過 MB 的一 個命令來設(shè)置的 格式如下 mqsisetdbparms brokerName n dataSourceName u dataSourceUserId p dataSourcePassword 具體用法可以輸入 mqsisetdbparms h 獲得參考 配置完以上內(nèi)容后 運行消息流應(yīng)該不會有數(shù)據(jù)庫連接的異常了 假如配 置不正確 會在運行到使用了 數(shù)據(jù)源 的節(jié)點處拋出 ODBC 的一些異常 在在 WMBTWMBT 中創(chuàng)建數(shù)據(jù)庫項目中創(chuàng)建數(shù)據(jù)庫項目 以上做的工作可以確保消息流能夠正確操作用戶數(shù)據(jù)庫 但是當(dāng)你在 WMBT 中編寫 SQL 語句時 會出現(xiàn)很多警告 內(nèi)容一般是 無法解析數(shù)據(jù)庫表引用 某字段 雖然不影響運行 但看著總是不太爽 出現(xiàn)警告的原因很簡單 你沒有告訴 WMBT 你需要用到的數(shù)據(jù)庫表的結(jié)構(gòu) 是什么 所以 WMBT 很盡職地告訴你可能有問題 我們只需引入數(shù)據(jù)庫的定義 即可消除這些警告 首先 打開 數(shù)據(jù)庫資源管理器 視圖 新建一個 JDBC 連接 和其他 EclipseIDE 類似 配置好相關(guān)參數(shù)即可 在 WMBT 中新建一個 數(shù)據(jù)庫定義 向?qū)屇沩槺銊?chuàng)建一個 數(shù)據(jù)庫設(shè) 計項目 你可以通過剛剛創(chuàng)建的 JDBC 連接 選擇一個數(shù)據(jù)庫 即可 這時你會發(fā)現(xiàn) ESQL 代碼中那些煩人的提示已經(jīng)消失了 在在 ESQLESQL 中編寫中編寫 SQLSQL 語句語句 ESQL 中使用 SQL 和一般的 SQL 語句基本一致 除了在指定哪個數(shù)據(jù)表的時 候 要用類似下面的語法 SELECT FROM Database SchemaName TableName 其中的 Database 是關(guān)鍵字 一定要有的 表示從數(shù)據(jù)庫中讀取 這是 因為 ESQL 中不單可以操作數(shù)據(jù)庫 還可以對邏輯樹 數(shù)組對象使用 select delete 等 SQL 語法 Database 起到標(biāo)識的作用 給出這樣一條語句 set LocalEnvironment temp select from Database TEST example 假設(shè) example 有 id 和 info 兩個字段 共三條記錄 那么執(zhí)行后的結(jié)果是 LocalEnvironment 樹下面產(chǎn)生三個 temp 元素 每個元素都包含一個 id 和 info 子元素 對應(yīng)數(shù)據(jù)庫的記錄 select 返回的都是數(shù)組類型 因此不能 set LocalEnvironment temp select 那樣會在打包時報錯 一定要標(biāo)明是數(shù)組 此外 像上面那樣直接書寫 SQL 語句并賦值給一個數(shù)組變量 MB 會在編譯 和執(zhí)行期間檢查 SQL 語法是否合格 這個特性雖然很有用 但有時候也會適得 其反 比如要在 Oracle 使用序列來實現(xiàn)主鍵自增時 insert 語句要寫成 insert into example id info VALUES SEQ EXAMPLE nextval xxxxx 這里 SEQ EXAMPLE 是序列的名稱 而在 MB 里面這樣會保存 提示找 不到 SEQ EXAMPLE 這個對象的定義 解決方法是使用 ESQL 的 PASSTHRU 函數(shù) 這個函數(shù)直接將 SQL 語句發(fā)送給數(shù)據(jù)庫去解析執(zhí)行 就可以繞開 MB 的 檢查 IBM MessageBroker 筆記系列 七 筆記系列 七 這篇是針對 WebService 的一些使用技巧 入門入門 MB 對 WebService 的支持其實不是它的強(qiáng)項 它的長處在于 MQ MB 就是基于 MQ 的 所謂 消息代理 感覺就是在消息中間件 基礎(chǔ)上增加了 代理 功能 MB 的前身是 MQ Integrator 所以從字面 意思上來看 也是 message integrator broker 越來越復(fù)雜的功能 據(jù)說 Websphere ESB 對于 java 和 webservice 的支持更加完善 不過我 也沒有用過 扯了那么多 回到主題 在 MB V6 0 中 對 WebService 的支持還是比較 弱的 以單純的 http 節(jié)點 加上程序員在 compute 節(jié)點中手工操作消息樹 包 括對 SOAP 包進(jìn)行封包 envelop 和解包 extract 都要自力更生 難度比較 大 且不夠直觀簡練 給人感覺是 MB 對 webservice 支持不夠 不得已而為之 到了 V6 1 情況終于有了較大的改觀 MB 提供專門的 webservice 節(jié)點了 所以 如果你還在看 精通 WMB 那么 webservice 那一章可以先放下了 去 WMBT 的 樣本庫 看看 webservice 的教程 會發(fā)現(xiàn)不僅僅有專門的 SOAP 節(jié)點 還對 IBM 的 WSRR 也有專門的支持 甚至還提供異步的 SOAP 節(jié)點 因此 在 MB 中使用 webservice 第一步推薦先去學(xué)這些樣例 特別留意使用 http 和 soap 節(jié)點時 前后的 compute 節(jié)點的 ESQL 代碼的差異 體會 SOAP 節(jié)點的方便 技巧技巧 看完 SOAP 節(jié)點的樣例之后 會發(fā)現(xiàn)里面的那個子流 其實也挺復(fù)雜的 好像不比 http 節(jié)點簡單 httphttp 節(jié)點節(jié)點 SOAPSOAP 節(jié)點節(jié)點 其實 Envelope 和 Extract 節(jié)點是 MB6 1 才有的 沒有他們 http 節(jié)點 構(gòu)造 webservcie 會變得很啰嗦 另外 以上的流程圖 是可以通過向?qū)У姆绞?生成的 這一點非常方便 首先在消息集項目中 從 WSDL 文件 新建一個消息定義 然后將這個 WSDL 文件拖到某個消息流的編輯界面中 自動彈出一個向?qū)?簡單地一步步走 就能生成以上的消息流 動態(tài)設(shè)置動態(tài)設(shè)置 webservice 地址地址 在以上生成的消息流中 HTTP 節(jié)點和 SOAP 節(jié)點都有一個屬性 用于指定 webservice 的請求地址 但這是寫死在節(jié)點中的 如果要在運行過程中動態(tài)設(shè) 置呢 比如根據(jù)消息內(nèi)容 選擇合適的 URL 地址進(jìn)行 webservice 調(diào)用 其實很簡單 只需在 SOAP 或 HTTP 節(jié)點之前的某個 compute 節(jié)點中 在 LocalEnvironment 中設(shè)置一個相應(yīng)的值即可 HTTP 節(jié)點 SET OutputLocalEnvironment Destination HTTP RequestURL webservice 地 址 SOAP 節(jié)點 set OutputLocalEnvironment Destination SOAP Request Transport HTTP WebServiceURL webservice 地址 注意 切記把 compute 節(jié)點的 計算方式 設(shè)置為 消息和 LocalEnvironment 總之至少要包括 LocalEnvironment 否則設(shè)置了等于沒 設(shè)置 compute 節(jié)點不會將LocalEnvironment 往下傳 當(dāng)然 以上步驟也可以在 Filter Database 這些節(jié)點做 那樣就沒有 Input 和 OutputLocalEnvironment 之分了 IBM MessageBroker 筆記系列 八 筆記系列 八 本來這一篇要寫 ESQL 的一些語法細(xì)節(jié)的 但是過幾天就要去客戶那里部署系 統(tǒng)了 上周也花了一個禮拜時間 一邊學(xué) linux 一邊學(xué)怎么在 linux 上部署 MB 所以這一篇先討論如何在 linux 上安裝 配置 WMB 準(zhǔn)備準(zhǔn)備 先說一下硬件和操作系統(tǒng)環(huán)境 機(jī)器 IBM 的某型號刀片機(jī) 4G 內(nèi)存 操作系統(tǒng) RED HAT LINUX 64bit 企業(yè)版 業(yè)務(wù)數(shù)據(jù)庫 Oracle 10g WMB6 1 安裝在 WMQ6 之上 使用 DB2 9 作為代理數(shù)據(jù)庫 以上軟件都是安裝在同一臺刀片機(jī)上 另外 WMBT6 1 安裝在我自己的 windows 機(jī)器上 用于開發(fā) MB 程序 并遠(yuǎn)程部 署到服務(wù)器上 參考資料參考資料 按理說參考資料應(yīng)該是放在最后面的 只是我的這些安裝心得都是來自這些參 考資料 為防止我的個人經(jīng)驗誤導(dǎo)讀者的安裝過程 所以先列出以下資料 有 空慢慢看的話 還是應(yīng)該以這些官方資料為準(zhǔn) messagebroker Configuration Administration and Security 這本是權(quán)威了 除了對應(yīng)的版本有些舊 WMB 6 0 整體內(nèi)容還是很詳細(xì)的 幾乎所有平臺上的 MB 安裝 配置都有詳細(xì)的介紹 只是內(nèi)容多得讓人看起來眼 暈 MB info center 內(nèi)容和上面那本書差不多 比較精煉 但如果配置出了問題 未必能找到詳細(xì) 的解答 最后 強(qiáng)烈建議 如果是 linux 菜鳥 像我這種 趕緊補(bǔ)習(xí)一些 linux 的基 本知識 比如環(huán)境變量怎么設(shè)置 安裝安裝 其實安裝過程還是比較簡單的 先安裝 MQ 再安裝 MB MQ 比較麻煩一點 要 用 rpm 而 MB 則帶有一個 Eclipse 的安裝界面 和 windows 上和相似 跟著向 導(dǎo)走就行了 安裝好之后 會發(fā)現(xiàn) db2 也隨著 MB 一起裝好了 默認(rèn)安裝路徑 注意大小寫 MB opt ibm mqsi DB2 opt ibm db2 創(chuàng)建代理數(shù)據(jù)庫創(chuàng)建代理數(shù)據(jù)庫 紅皮書上已經(jīng)有詳細(xì)說明 我就偷個懶 copy 并解釋一下 1 Log on as root 2 Create a database instance Use the commands shown here for guidance for the different platforms a On AIX usr lpp db2 08 01 instance db2icrt u fence userID username b On Linux Solaris or HP UX opt IBM db2 V8 1 instance db2icrt u fence userID username 其實 fence userID 和 username 我也不太清楚是什么 你可以參考紅皮書 或者找個 db2 高手問問 反正我當(dāng)時使用 root 創(chuàng)建是不行的 一定要選擇其他 帳號 比如你自己的用戶名 3 Log on as username 4 Create a database in this example called WBRKBKDB using the following commands on some platforms an explicit path name is required You must insert a space between the starting period and the tilde character in the first command shown here sqllib db2profile db2start db2 create database WBRKBKDB db2 connect to WBRKBKDB db2 bind sqllib bnd db2cli lst grant public CLIPKG 5 重點說明的是 sqllib db2profile 這句命令 前面要有一個 和空 格 否則沒用 執(zhí)行了這條命令后 如果你對 db2 命令不熟悉 可以直接敲入 db2cc 啟動 db2 的圖形管理界面 在里面創(chuàng)建數(shù)據(jù)庫 省去了敲命令的麻 煩 最后一步 在某些平臺上需要修改 db2 的 DBHEAP 屬性 至少 900 才能滿足 MB 運行的需要 否則會造成性能低下 配置配置 ODBC 連接連接 由于在 64 位機(jī)器上跑 MB 所以 ODBC DSN 是要 32 位還是 64 位是很頭疼的問題 因為不同硬件平臺 操作系統(tǒng)的組合都有不同的要求 比如 在 windows 上是 肯定沒有 64bit 支持的 而在某些操作系統(tǒng) 貌似是 AIX 即使你全部用 64bit 的產(chǎn)品 也要配置 32bit 的 ODBC 具體的可以參考紅皮書 里面有詳細(xì) 的列表 在這里我只針對我使用的平臺介紹配置過程 在此特別聲明 未必適 用于讀者的環(huán)境 總體思路 linux 的 ODBC 是通過一個配置文件來描述的 在該配置文件中寫入 相應(yīng)的信息 然后在環(huán)境變量中設(shè)置 ODBCINI 配置文件的絕對路徑 編輯 ODBC 配置文件 1 從你的 MB 安裝目錄下的 ODBC64 V5 2 拷貝一份樣例配置文件 odbc64 ini 到某個目錄 比如 mqm 用戶的根目錄 2 修改該文件 在這里我只保留 DB2 和 ORACLE 的 DSN 其他的統(tǒng)統(tǒng)刪了 3 修改你的 odbc64 ini 的權(quán)限 Ensure that the odbc64 ini file has file ownership of mqm mqbrkrs and has the same permissions as the supplied sample file 4 修改 ODBCINI 環(huán)境變量指向你的 odbc64 ini 5 修改 linux 的庫路徑 LD LIBRARY PATH 指向 db2 和 oracle 的 32 位 和 64 位 odbc 鏈接庫的路徑 比如我的配置如下 LD LIBRARY PATH ORACLE BASE lib32 DB2 BASE lib32 DB2 BASE li b64 LD LIBRARY PATH 6 如前所述 我對使用 32 還是 64bit 的 DSN 也是有點混亂 干脆就把下 面兩個環(huán)境變量也加上 以防萬一 for MB 64bit execution group MQSI LIBPATH64 opt ibm db2 V9 1 lib64 MQSI LILPATH64 32bit database lib may be needed MQSI LILPATH32 opt ibm db2 V9 1 lib32 MQSI LILPATH32 7 最后是修改 odbc64 ini 文件的內(nèi)容 具體的看書吧 下面是我的例子 補(bǔ)充幾點注意的地方 1 DB2 的 driver 是不用路徑的 只寫驅(qū)動名字即可 2 DB2 的 Database 屬性 即是數(shù)據(jù)庫的名字 要和 DSN 的名字一樣 即 是方括號中的內(nèi)容 3 沒事不要打開 trace 會很慢 創(chuàng)建創(chuàng)建 MB 的運行實例的運行實例 準(zhǔn)備工作準(zhǔn)備工作 打開一個終端 運行命令之前 先輸入 opt ibm mqsi 6 1 bin mqsiprofile 和前面的 db2 命令一樣 開頭要有 和 空格 你可以把這句話加到 linux 用戶根目錄的 bashrc 文件 那樣每次打開終端 都會自動執(zhí)行這個腳本 以設(shè)置一些環(huán)境變量 否則你是無法使用 MB 命令的 確保確保 MQ 和和 DB2 都在運行都在運行 可以通過 dspmq 查看 MQ 組件的運行狀態(tài) 如果隊列管理器沒有啟動 則通過 strmqm 命令啟動之 按照前面介紹的方法 利用 db2cc 圖形界面查看數(shù)據(jù)庫是否運行 否則啟動之 也可以用 db2start 命令 記得要切換用戶到你創(chuàng)建 db2 時使用的帳號 比如 su db2usr c db2start 創(chuàng)建配置管理器創(chuàng)建配置管理器 mqsicreateconfigmgr ConfigMgr i root a xxxxx q QM 創(chuàng)建代理創(chuàng)建代理 mqsicreatebroker BRK1 i root a xxxxx q QM n BRK1 DB u db2usr p xxxxx 創(chuàng)建代理時 要指定代理數(shù)據(jù)庫的 DSN 名稱 同時指定連接 ODBC 的數(shù)據(jù)庫用戶 名密碼 如果一切 ok 創(chuàng)建好代理后 在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論