前面講了那么多MB的原理和配置,這一篇blog開始正式講講我個人學MB的感受。“假如時間可以重來”,我會怎樣利用手頭的資源,以最快的速度入手。
體驗MB
在安裝完WMBT之后,會出現“歡迎”(這個也是eclipse
環境安裝后都會有的東西,你也可以在“幫助”->“歡迎”里面找到),里面有不少很淺顯的例子,讓你對MB是如何工作的有個感性認識。強烈建議把里面的“入門”部分看完。
學習開發
看完“入門”后,重點就應該放在“樣例”中。在樣例庫里面,有數十個基礎的樣例,每個樣例都針對某類
節點,比如消息映射、
JMS、
數據庫操作、Webservice調用,等等。那么多的例子,當然不可能一下子看完,而且對于一張白紙的新手,里面有些基礎知識還不懂,我的建議是:結合之前提到的那本書《精通Websphere Message Broker》,看完一方面的內容,比如
數據庫操作,你就可以打開“樣例庫”,將里面的數據庫樣例導入至WMBT,然后看看其中的ESQL代碼、相關節點的設置,等等。一開始會比較枯燥,而且讓這些樣例跑起來也不是件容易的事情,但堅持下去就會慢慢體會到其中的樂趣了。
掌握Debug利器
一般來說,WMBT會自動幫你配置好樣例
程序運行所需的環境(比如創建隊列
管理器、數據庫,等等),然后將樣例
部署到MB的執行組中。這一切都是自動完成的,但有時候出于各種原因,試運行樣例的時候不能得到預期的結果。首先排除掉打包和部署時的錯誤,因為樣例程序的源代碼通常是沒有問題的,那么余下的問題就只能靠debug來
解決了。另一方面,當你看了書之后,對InputRoot、Environment、ExceptionList這些東西的結構、細節肯定會很好奇,但是書中提到的很少很零散,最好的方法就是在debug模式下,讓消息流掛起在某一點,然后你再慢慢瀏覽其中的各類變量,很多東西都不言自明了。用
IBM工程師的話說,就是“沒有debug就根本沒法學會MB”。為什么?相關
資料太少了,去google有時候還不如直接問MB自己,所以也是很考驗你的自學能力的。
配置debug環境
這些內容在《精通》那本書中都有講到,只是比較粗略,我在這里補充我個人的
經驗。
首先右鍵單擊某個執行組,“屬性”,在“JVM調試端口”中輸入一個tcp端口號,不要和其他程序沖突就行,假設9090。再次右鍵執行組,“調試”->“啟用調試9090”。然后,切記,重啟執行組所在的
broker
重啟后,把bar
文件部署到該執行組,然后進入“debug”視圖,找到下圖右下角的那個按鈕:
如果是該按鈕是紅色的,說明debug守護程序沒有啟動;如果是綠色的,鼠標移過去,會顯示“debug守護程序正在監聽XX端口”,需要注意的是,這里的端口可不是之前在執行組設置的端口,剛好相反,必須和之前的9090不同。單擊旁邊的下拉箭頭,可以啟動或者更改守護程序的端口,這里改為9099,不必重啟。
接下來,就和一般的eclipse調試一樣了,在綠色的小昆蟲按鈕設置debug參數。新建一個debug,注意這里的“java調試端口”則必須與執行組的一致,你也可以“選擇執行組….”,
系統會根據你選擇的執行組,自動設置端口
然后,在“源”選項卡中,添加你要調試的項目。確定之后,就可以運行debug了。
What next?
debug配置成功后,就開始慢慢研究那些樣例吧,按照之前我說的思路,“書本+樣例”,按照每個人自己的學習習慣和項目開發的需要,將你要學習的樣例,一步步調試過去,看看每條ESQL語句的結果,很快的你就知道其中的運行機理了。
小結
由于MB不能像java那樣,輸出東西到
控制臺,只能輸出到
日志文件,而且還得寫一堆語句,或者配置trace節點,很麻煩,所以傳統的在程序中插入輸出語句的方式在這里沒太大意義。很多情況下,要依靠debug來觀察消息流執行過程中消息的變化,來決定bug的所在。