Gemini測試小工具¶
作 者: | Jet Geng |
---|---|
日 期: | 2011-07-22 |
概述¶
在 Blueprint 起步中我們已經(jīng)成功的通過 Blueprint 容器創(chuàng)建了一個POJO。我們只是通過log的方式查看到我們的POJO已經(jīng)被創(chuàng)建了。無法深入的去了解容器內(nèi)部Bean的運行狀態(tài)和行為。 所以才有必要創(chuàng)建一個Gemini控制臺這樣的程序。這個控制臺最初的需求是:
- 能夠動態(tài)查看特定的Bean是否被創(chuàng)建。
- 能夠動態(tài)的獲取特定的Bean。
- 能夠檢查特定Bean的行為是否正確。
解決方案¶
- 為了解決以上的問題。我做了一個小工具。 這個小工具的目的讓客戶的動態(tài)腳本能在最終的目標(biāo)環(huán)境中運行。使用方式如下:
-
- 從 git://github.com/jetgeng/OSGi.git 下載 org.gunn.gemini.console 和 org.codehaus.groovy 這兩個項目。
- 并把這兩項目加入到你的TargetPlatform中。
- 使用 invokegv 來運行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)行驗證的。并且路徑中暫時不支持中文。
這個周末(23或24日)完成一個簡單的錄屏,來演示這個小工具的使用。