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

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

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

    邋遢居

    我的Java天堂

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks
    1 概述
    Blueprint 使用手記 Jet Geng
    July 10, 2011
    Blueprint 是 OSGi Service Platform Enterprise Specification 標準的一 部分。很多最佳實踐中也都推薦在應用程序中使用他。最近在項目中用他 來發布和應用服務。感覺效果不錯。所以就有了這篇使用手記!歡迎各位 看官拍磚!
    2 配置環境
    我們在前期找到了兩個 Blueprint 的實現:一個是 Apache 的 aries,另 外一個就是 Eclipse 的 Gemini。最后選擇了 Gemini。做出這樣的決定出于 兩點考慮:
    • Blueprint的標準就是由Spring提出。
    • Gemini的初始代碼由Srping所捐獻。 下面我就簡單介紹一下環境的配置過程:
    • 從http://eclipse.org/gemini/ 下載 Gemini 的合適的版本。我們 采用的是 1.0.0M1。并解壓到路徑 A
    • 從http://static.springsource.org/downloads/nightly/milestone-download. php下載 spring-osgi-2.0.0.M1-with-dependencies。并解壓到路徑 B。 他里面包括了 Gemini 所依賴的 bundle。說白了也就是 SpringFrame- work。
    • Eclipse 中新建一個 Target Platform。把上述的路徑 A和 B 加入到新 建的 Target Platform 中去。
    • 選擇新建的 Target Platform 為當前活動的 Platform。 3 啟航
    個人理解 Gemini 就是 OSGi 世界中的 IOC。既然是一個 IOC 框架,那 我們就從創建一個 Bean 開始吧!

    3.1    創建一個 Bean 首先我們來看一下我們要存入 Container 中的 POJO。
    Listing 1: POJOWillInContainer.java
    package org.gunn.gemini.demo;
    import org.slf4j.Logger; import org.slf4j.LoggerFactory; /**
    * This pojo will create by blueprint container * 
    @author Jet Geng * */
    public class POJOWillInContainer { private Logger logger =
    }
    LoggerFactory.getLogger(POJOWillInContainer.
    class); private String name ;
    private String age;
    public void setName(String name) { logger.info("the new name is:" + name); this.name = name;
    }
    public void setAge(String age) { logger.info("the new age value is:" + age); this.age = age;
    }

    這個超級簡單的一個 POJO,我們如何通過 Gemini 來創建他呢?我們通過 一個簡單的配置文件。具體如下。
    Listing 2: pojoconfig.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
        
    <bean id="myPOJO" class="org.gunn.gemini.demo.POJOWillInContainer" >
            
    <property name="name" value="JetGeng"/>
            
    <property name="age" value="32"/>
        
    </bean>
    </blueprint>

    用過 spring 的兄弟,第一眼就能看明白這個配置文件說的是什么。其實就 是創建了一個 bean。到這里,我們所需要做的工作其實就已經完成了。下 面就可以通過 Debug 來啟動了。
    3.2    運行 Blueprint 容器 首先把 pojoconfig.xml 文件放到 project path/OSGi INF/blueprint 目錄
    下。或者在 MANiFEST.MF 文件中通過如下語句進行指定。 Blueprint-Bundle: config/account-data-context.xml, config/osgi-*.xml
    更多內容參考http://www.eclipse.org/gemini/blueprint/documentation/ reference/1.0.0.RC1/html/app-deploy.html中的 8.2 Blueprint Manifest Configuration Comparison。好了,我們可以啟動我們的應用程序了。為了 能夠讓 blueprint 順利的跑起來,我們必須要把 blueprint 相關 bundle 以及 他所依賴的 bundle 都加入到運行時中。 按照上圖配置后,點擊運行。我們
    Figure 1: Debug 配置

    將在控制臺得到如下內容。

    控制臺中的黑色行顯示我們的 POJO 已經被 BlueprintContainer 創建

    了,并且設定了相關屬性。
    .
    這個部分的全部代碼已經放到了 git://github.com/jetgeng/OSGi.git 中了。 感興趣的筒子可以 down 下來玩玩。
    posted on 2011-07-10 11:06 Jet Geng 閱讀(5047) 評論(4)  編輯  收藏 所屬分類: OSGI

    Feedback

    # re: Blueprint 使用手記[未登錄] 2011-09-08 10:47 alex
    Eclipse 中新建一個 Target Platform。把上述的路徑 A和 B 加入到新 建的 Target Platform 中去。
    選擇新建的 Target Platform 為當前活動的 Platform。

    這一步怎么操作?  回復  更多評論
      

    # re: Blueprint 使用手記 2011-09-08 11:38 jetgeng
    直接在 preference 頁的 target platform頁中勾選就可以了  回復  更多評論
      

    # re: Blueprint 使用手記[未登錄] 2011-09-08 13:18 alex
    @jetgeng
    找到了,沒想到這么快就得到回復,非常感謝!  回復  更多評論
      

    # re: Blueprint 使用手記 2013-08-30 16:39 zjy
    git://github.com/jetgeng/OSGi.git
    連接不上呀  回復  更多評論
      

    主站蜘蛛池模板: 国产色在线|亚洲| 亚洲中文字幕在线无码一区二区| 日本系列1页亚洲系列| 日韩电影免费在线| 亚洲AV永久无码精品网站在线观看 | 毛片免费观看视频| 亚洲五月综合网色九月色| 性做久久久久久免费观看| 中文字幕乱码亚洲无线三区| 女性自慰aⅴ片高清免费| 亚洲精品久久无码| 免费a级毛片永久免费| 一区二区三区在线免费| 国产亚洲精品a在线观看app| 永久免费av无码入口国语片| 亚洲一区二区电影| 毛片基地免费视频a| 成a人片亚洲日本久久| 久久久久国产成人精品亚洲午夜| 两个人看的www免费高清| 久久亚洲精品人成综合网 | 天天干在线免费视频| 疯狂做受xxxx高潮视频免费| 国产国拍亚洲精品福利| 91香焦国产线观看看免费| 亚洲私人无码综合久久网| mm1313亚洲精品国产| 久久成人a毛片免费观看网站| 亚洲一区二区三区亚瑟| 无码欧精品亚洲日韩一区夜夜嗨| 热99RE久久精品这里都是精品免费| 久久精品九九亚洲精品| 成人爱做日本视频免费| 在线毛片片免费观看| 亚洲午夜无码久久| 国产亚洲综合久久系列| 国产麻豆视频免费观看 | 四虎成人精品永久免费AV| 亚洲中文字幕久久精品无码A | 337P日本欧洲亚洲大胆艺术图| 亚洲日韩精品无码专区网址|