Gemini測試小工具
作 者: |
Jet Geng |
日 期: |
2011-07-22 |
概述
在 Blueprint 起步中我們已經(jīng)成功的通過 Blueprint 容器創(chuàng)建了一個POJO。我們只是通過log的方式查看到我們的POJO已經(jīng)被創(chuàng)建了。無法深入的去了解容器內(nèi)部Bean的運(yùn)行狀態(tài)和行為。
所以才有必要創(chuàng)建一個Gemini控制臺這樣的程序。這個控制臺最初的需求是:
- 能夠動態(tài)查看特定的Bean是否被創(chuàng)建。
- 能夠動態(tài)的獲取特定的Bean。
- 能夠檢查特定Bean的行為是否正確。
解決方案
- 為了解決以上的問題。我做了一個小工具。 這個小工具的目的讓客戶的動態(tài)腳本能在最終的目標(biāo)環(huán)境中運(yùn)行。使用方式如下:
-
- 從 git://github.com/jetgeng/OSGi.git 下載 org.gunn.gemini.console 和 org.codehaus.groovy 這兩個項(xiàng)目。
- 并把這兩項(xiàng)目加入到你的TargetPlatform中。
- 使用 invokegv 來運(yùn)行g(shù)roovy腳本。
- 直接在命令行輸入腳本。例如: invokegv print act.getBean(''myPOJO'')
- 通過輸入Groovy文件。例如: invokegv file:///Users/Puer/.../script.groovy
注解
在Groovy腳本中有一個內(nèi)建的變量 act , 他又一個叫做 getBean 的方法。通過這個方法你可以獲得當(dāng)前 OSGi 平臺中所有的BlueprintContainer中的組件。他的輸入?yún)?shù)時Bean或Service的id。
如果是使用Groovy文件的形式,注意文件的url格式。他是通過如下的正則表達(dá)式 file:\\/{2}(\\/[:\\w\\.]+)+ 進(jìn)行驗(yàn)證的。并且路徑中暫時不支持中文。
這個周末(23或24日)完成一個簡單的錄屏,來演示這個小工具的使用。
|