<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 1  文章 - 37  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    test

    搜索

    •  

    最新評論

    Extwind——支持OSGi應用的Tomcat

    最新進度:

    實現Tomcat與Equinox的擴展集成,全面兼容原始Tomcat和Equinox。
    界面控制臺基本完成,目前可以使用它控制OSGi-App中的bundle,功能(Install, Start, Stop, Uninstall )
    在System Bundle(Equinox)中export: javax.servlet,org.extwind.osgi.service
    實現HttpService注冊Servlet和Resource
    實現HttpService注冊jsp 實現相同HttpContext注冊地Servlet和Resource共享ServletContext
    OSGiContext自動安裝OSGi-App根目錄中的jar包

    Tomcat-OSGi QuickStart:

    1. 準備工作
    使用Extwind的Tomcat-OSGi是非常簡單的,首先下載不到2M的rar文件,其中包括以下內容:
    extwind-tomcat-osgi-0.1-alpha.jar  -  Tomcat于Equinox集成jar包,它是必須的。
    org.eclipse.osgi-0.1-Alpha.jar   -  擴充過的Equinox osgi-framework,它不是必須的,如果不使用它,將需要額外的bundle去支持javax.servlet,javax.servlet.http,org.extwind.osgi.service.http,建議使用它,因為在以后的版本中,它有可能會成為必須得。
    osgiManager   -   Web Application,支持OSGi Application管理的控制臺,通過它可以對每一個OSGi-App中的bundle進行管理
    osgiapp  -   一個非常簡單的Web Application,里面包含一個簡單的bundle,分別注冊了一個static resource,一個jsp文件,一個Servlet
    server.xml - Tomcat 6.x的示例配置文件,可選的
    tomcat-users.xml - Tomcat 6.x 控制臺用戶權限配置文件,可選的


    [ 點擊這里下載 Tomcat-OSGi-QuickStart ]


    2. 配置Tomcat 6.x
    將Tomcat 6.x 解壓到某目錄,例如  D:\Tomcat6
    將extwind-tomcat-osgi-0.1-alpha.jar   和   org.eclipse.osgi-0.1-Alpha.jar   拷貝到 D:\Tomcat6\lib  目錄下
    將osgiapp和osgiManager拷貝到 D:\Tomcat6\webapps 目錄下
    打開server.xml,在<Host>節點中加入2個屬性 className和hostConfigClass,就像下面一樣:(或者直接使用本例提供的server.xml)
    <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拷貝到D:\Tomcat6\conf 目錄下,覆蓋原配置文件


    3. 開始使用
    經過以上簡單的準備和配置工作,現在已經可以開始使用了,啟動tomcat,訪問

    http://localhost:8080/osgiManager/html/list

     

    認證框中的用戶名和密碼都是 tomcat,之后會進入下面這個頁面



    點擊OSGi Console,進入/osgiapp的管理界面



    可以看到,org.extwind.test.bundle已經被安裝了,因為OSGi-App啟動時會將根目錄中的jar包作為bundle自動安裝
    控制臺提供了4個功能:安裝,啟動,停止,卸載。 在以后的版本中會逐步加強控制臺的管理功能。

    在測試bundle中注冊了3個資源

    public class TestBundleActivator implements BundleActivator {
        
        HttpService httpService 
    = null;

        
    public void start(BundleContext context) throws Exception {
            ServiceReference sr 
    = context.getServiceReference(HttpService.class
                    .getName());
            httpService 
    = (HttpService) context.getService(sr);
            System.out.println(
    "====================================================");
            System.out.println(httpService.getClass().getName());
            System.out.println(
    "====================================================");
            Dictionary
    <String, String> initparams = new Hashtable<String, String>();
            initparams.put(
    "servlet-name""petstore");
            initparams.put(
    "load-on-startup""2");
            httpService.registerServlet(
    "/test.do"new TestServlet(), initparams, null);
            httpService.registerResources(
    "/files""/resource"null);
            httpService.registerResources(
    "*.jsp""/resource"null);
        }


        
    public void stop(BundleContext context) throws Exception {
            httpService.unregister(
    "/test.do");
            httpService.unregister(
    "/files");
            httpService.unregister(
    "*.jsp");
        }


    }

    3個資源的鏈接分別是
    http://localhost:8080/osgiapp/files/test.ini
    http://localhost:8080/osgiapp/test.do
    http://localhost:8080/osgiapp/resource/date.jsp
    這里的jsp并沒有使用Equinox的JspServlet,而是作為一個resource進行注冊

    現在,可以通過OSGi Console 對模塊進行熱插拔了。

    到這里,已經基本使用了Tomcat-OSGi的簡單功能,更多的功能正在開發中。


    獲取最新Tomcat-OSGi的源碼:
    http://code.google.com/p/extwind

    加入Extwind Group馬上開始討論
    http://groups.google.com/group/extwind

    posted on 2009-04-12 02:17 Phrancol Yang 閱讀(2804) 評論(1)  編輯  收藏 所屬分類: OSGI

    FeedBack:
    # re: Extwind——支持OSGi應用的Tomcat [未登錄] 2010-01-11 16:50 Thinker
    能不能把源代碼發我一下,我想學習學習,謝謝
    tzh8478@163.com  回復  更多評論
      
    主站蜘蛛池模板: 美女被免费网站视频在线| 亚洲日本乱码一区二区在线二产线 | 暖暖日本免费在线视频| 亚洲人精品亚洲人成在线| 日韩国产免费一区二区三区| 久久亚洲AV无码精品色午夜 | 亚洲AV无码精品国产成人| 成人国产mv免费视频| 国产天堂亚洲精品| 午夜亚洲福利在线老司机| 四虎一区二区成人免费影院网址| 四虎影视永久免费观看网址| 日本特黄特色AAA大片免费| 久久亚洲中文字幕精品一区| 久久久受www免费人成| 亚洲精品私拍国产福利在线| 2021在线永久免费视频| 亚洲国产综合精品中文第一| 四虎影视在线永久免费看黄| 一级美国片免费看| 亚洲AV日韩AV永久无码免下载| 永久看日本大片免费35分钟| 亚洲а∨精品天堂在线| 亚洲色欲色欲www在线丝| 亚洲精品免费在线观看| 亚洲AV无码乱码麻豆精品国产| 国产精品冒白浆免费视频| av网站免费线看| 亚洲神级电影国语版| 日韩免费视频播放| 久久久久久久久久免免费精品| 亚洲综合婷婷久久| 好爽…又高潮了免费毛片| 一级做a爰全过程免费视频毛片 | 卡一卡二卡三在线入口免费| 特级毛片免费观看视频| 亚洲av色福利天堂| 成年18网站免费视频网站| 国产99久久久国产精免费| 亚洲女人初试黑人巨高清| 免费萌白酱国产一区二区|