隨筆 - 1  文章 - 37  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          test

          搜索

          •  

          最新評論

          關于本文
          本文介紹如何將一個OSGi Application部署到Tomcat-OSGi中,你會發現這是一件非常簡單的事情。
          在本文的最后部分有相關資源的下載鏈接和文檔鏈接

          一、準備工作
          準備工作分為兩個部分:準備一個OSGi Application  和  準備Tomcat-OSGi運行環境

          1. 準備一個OSGi Application
          Tomcat-OSGi已經準備了一個應用程序:jpetstore-osgi-demo,它是將spring sample - jpetstore加以修改而成的OSGi應用程序。
          jpetstore-osgi-demo的最新版本是基于spring-framework-2.5.6和spring-osgi-1.2.0的,點擊這里下載Projects

          2. 準備Tomcat-OSGi運行環境
               1.>  下載Tomcat的最新版本  apache-tomcat-6.0.18
               2.>  Tomcat-OSGi:Tomcat-OSGi-all-in-one.rar

          解壓縮Tomcat-OSGi-all-in-one.rar
          將2個jar包拷貝至Tomcat-home/lib 目錄下
          將2個xml文件拷貝至tomcat-home/conf目錄下
          將war包拷貝至Tomcat-home/webapps 目錄下

          server.xml只是在host節點添加2個屬性,如下:

          <Host name="localhost"  appBase="webapps"
                      unpackWARs
          ="true" autoDeploy="true"
                      xmlValidation
          ="false" xmlNamespaceAware="false" className="org.extwind.tomcat.catalina.core.ExtenseStandardHost" hostConfigClass="org.extwind.tomcat.catalina.startup.ExtenseHostConfig">


          tomcat-users.xml 定義了控制臺權限,如下

          <?xml version='1.0' encoding='utf-8'?>
          <tomcat-users>
            
          <role rolename="manager"/>
            
          <role rolename="tomcat"/>
            
          <role rolename="admin"/>
            
          <role rolename="role1"/>
            
          <user username="tomcat" password="tomcat" roles="tomcat,manager"/>
            
          <user username="both" password="tomcat" roles="tomcat,role1"/>
            
          <user username="role1" password="tomcat" roles="role1"/>
          </tomcat-users>


          二、將OSGi 應用程序導出為bundle

          將下載的projects.rar解壓縮,并在eclipse中作為plug-in導入它們,org.extwind.osgi.demo.jpetstoreosgi.launcher需要作為一個普通project導入,這些projects包含了源代碼,方便你進行調試。
          Tomcat-OSGi已經準備好了這些bundle,點擊這里下載bundles
          通過eclipse的導出功能,將他們導出為bundle jar包,需要注意的是,org.apache.jasper, jetty,javax.servlet.*和org.eclipse.osgi是不需要導出的。(在org.extwind.osgi.demo.jpetstoreosgi.launcher中有一個導出腳本Exporter.xml,可以運行它進行導出)

          三、在Tomcat-OSGi中部署bundle
          在tomcat-home/webapps中新建一個目錄JPetStoreOSGi,在JPetStoreOSGi目錄中新建一個空文件osgi.ini,并將導出的bundles拷貝到該目錄下。
          執行spring-framework-2.5.6/samples/jpetstore/db/hsqldb/server.bat 啟動數據庫

          現在,準備工作已經完成了,在瀏覽器中輸入 http://localhost:8080/console  進入OSGi控制臺,你會發現所有bundle都已經安裝好了,將所有的bundle都啟動了,(建議先啟動org.springframework.osgi.web.extender)。

          現在是時候來看看JPetStoreOSGi部署到Tomcat-OSGi中后的效果了,在瀏覽器中訪問下面這個地址
          http://localhost:8080/JPetStoreOSGi/shop/index.do

          目前osgi.ini中支持properties屬性 osgi.console,啟動osgi控制臺。

          在Tomcat-OSGi alpha2版本中,支持Equinox-JspServlet的注冊,并兼容其URI pattern,也就是說,在eclipse的開發環境中開發出來的應用程序可以直接部署到Tomcat-OSGi中,而無需任何代碼級別的修改。
          有一點點區別就是,在Tomcat-OSGi中已經export了javax.servlet(2.4),javax.servlet.jsp(2.1)和org.apache.jasper,因此在Tomcat-OSGi中這些bundle是不需要加入的。
          勿在app中使用org.apache.jasper,會導致其他應用程序的jsp出現錯誤。


          相關資源

          Extwind的Google Group: http://groups.google.com/group/extwind
          Extwind的Google Project:  http://code.google.com/p/extwind  

          Tomcat-OSGi-alpha-2 all-in-one 下載地址
          http://extwind.googlecode.com/svn/trunk/dist/Tomcat-OSGi/Tomcat-OSGi-all-in-one.rar

          Extwind SVN: http://extwind.googlecode.com/svn/trunk/

          jpetstore-osgi-demo的bundles下載地址
          http://extwind.googlecode.com/svn/trunk/demo/jpetstore-osgi-demo/Bundles.rar
          jpetstore-osgi-demo的projects下載地址
          http://extwind.googlecode.com/svn/trunk/demo/jpetstore-osgi-demo/Projects.rar

          構建jpetstore-osgi-demo的演示過程:
          Developing Equinox/Spring-osgi/Spring Framework Web Application Part 1 - 顯示首頁
          Developing Equinox/Spring-osgi/Spring Framework Web Application Part 2 - 使用Spring-OSGI  
          Developing Equinox/Spring-osgi/Spring Framework Web Application Part 3 - 找到我的Bean  

          構建新版jpetstore-osgi-demo的相關問題:
          Tomcat-OSGi Demo: JPetStoreOSGi(Spring-osgi 1.2.0)


          posted on 2009-04-26 23:39 Phrancol Yang 閱讀(5181) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 酒泉市| 吴堡县| 黄陵县| 乐东| 攀枝花市| 郸城县| 石嘴山市| 双城市| 钟山县| 贡觉县| 江孜县| 长武县| 余庆县| 涪陵区| 衡山县| 慈溪市| 阳城县| 马边| 云安县| 化德县| 蓝田县| 富裕县| 平乐县| 车致| 新丰县| 睢宁县| 罗平县| 临猗县| 溆浦县| 喀喇| 益阳市| 固安县| 德州市| 忻城县| 泸水县| 德江县| 怀集县| 嘉鱼县| 广宁县| 嵊州市| 山阴县|