使用glassfish3發布osgi應用

來源:互聯網
上載者:User
1.初識osgi

  osgi的特點:熱插拔,模組化編程。看似真的很誘人,但是如果你是一位初學者,我想一開始你一定會很受折磨,很多概念要理解,很多莫明的錯誤,就單單一個ClassNoFinded,可能就能把你煩吐。還有構架一個osgi項目時那麼多煩人的揪心的配置(具體如何構建一個基於eclipse的osgi應用可以參考林昊的open doc,當然你也可以買他寫的那本 OSGi原理與最佳實務,我個人感覺有點老了,但是做做為初學者,在沒有其它更好的中文資料的情況下,還是值得一讀的)

2.osgi應用的調試與發布

   經過一段時間對OSGi的瞭解,基本可以很方便的構建,調試,發布OSGi的應用了。構建可以使用maven-bundle-plugin,這個maven外掛程式;調試可以使用maven-pax-plugin。

    具體可參考下邊這個樣本:

            http://www.ops4j.org/projects/pax/construct/   

   發布,我這裡使用glassfish3,glassfish本身就是一個基本OSGi的web應用伺服器,並提供了對Web Application Bundle(WAB)的支援,這是OSGi規範4.2中的一部分。可以很方便的發布web應用。

glassfish3 下載後,使用bin/asadmin.bat啟動,然後輸入start-domain就可以了。

開啟http://127.0.0.1:8080 可以看到glassfish的文檔頁。

http://127.0.0.1:4848 為管理頁

如果一切順利,你可以把你製作的bundle,複製到domains/domain1/autodeploy/bundles就是發布你的bundle了,如果還是不行的,

你還要做如下操作(對於最新版本不存在該問題):

asadmin delete-jvm-options --target server-config -Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command
asadmin create-jvm-options --target server-config -Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.shell.remote,org.apache.felix.fileinstall


這樣直接複製你的bundle到 domains/domain1/autodeploy/bundles就可以了,

如何查看你發布bundle的狀態呢,可以這樣做

cmd

telnet localhost 6666
就相當於開啟了felix的控制台(glassfish預設是基於felix的)

這個時候你可以輸入help查看可以使用的命令,

常用的命令有

ps 顯示bundle列表可以加 -l顯示bundle的位置
start n 啟動一個bundle n為bundle的id。。ps命令中可以看到這個號
stop n停止一個bundle
install url安裝一個bundle
update n 更新一個bundle

對於單個命令的協助可以使用help ps

更多值得你參考的文章有:

http://blogs.oracle.com/arungupta/entry/osgi_application_development_using_glassfish

http://netbeans.org/kb/docs/javaee/maven-osgiservice-cdi.html?intcmp=925655

本文不作者原創,轉載請註明出處,與你分享我的快樂
http://www.cnblogs.com/weirhp

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.