1. 程式人生 > >OSGi整合到Tomcat後的console除錯方法

OSGi整合到Tomcat後的console除錯方法

OSGi程式開發除錯手段中,最重要的一個是通過OSGi的命令列,通過OSGi命令列,可以檢視bundle狀態,安裝、解除安裝bundle,啟動、停止bundle。關於OSGi命令列除錯可以參考這篇文章。Explore Eclipse’s OSGi console
當時當你的OSGi程式是一個Web程式(如RAP)且Web容器是Tomcat,此時OSGi bundle是被Tomcat拉起來的,螢幕終端被Tomcat重定向了,不能登入到終端做執行OSGi bundle的命令了。當然只是不同直接通過啟動指令碼的console連線到OSGi,但是還是有方法。

1、在相對於tomcat的  webapp/${yourapp}/WEB-INF/web.xml 檔案中,找到init-param這個節點,增加下面這個節點,設定param-name為 commandline,設定param-value為 -console 8888,其中8888為埠號,可以自定義。

2、啟動Tomcat後,上面監聽的埠可以通過telnet連線上去

telnet youripaddr 8888

3、這時候就是連線到了OSGi控制檯,你可以做除錯了。

注意這個埠是沒有任何認證的,可以直接連線上去,因此,在實際釋出程式碼中一定不能有。