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