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

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

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

    邋遢居

    我的Java天堂

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks
    1 概述
    Blueprint 使用手記 Jet Geng
    July 10, 2011
    Blueprint 是 OSGi Service Platform Enterprise Specification 標(biāo)準(zhǔn)的一 部分。很多最佳實(shí)踐中也都推薦在應(yīng)用程序中使用他。最近在項(xiàng)目中用他 來(lái)發(fā)布和應(yīng)用服務(wù)。感覺(jué)效果不錯(cuò)。所以就有了這篇使用手記!歡迎各位 看官拍磚!
    2 配置環(huán)境
    我們?cè)谇捌谡业搅藘蓚€(gè) Blueprint 的實(shí)現(xiàn):一個(gè)是 Apache 的 aries,另 外一個(gè)就是 Eclipse 的 Gemini。最后選擇了 Gemini。做出這樣的決定出于 兩點(diǎn)考慮:
    • Blueprint的標(biāo)準(zhǔn)就是由Spring提出。
    • Gemini的初始代碼由Srping所捐獻(xiàn)。 下面我就簡(jiǎn)單介紹一下環(huán)境的配置過(guò)程:
    • 從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。說(shuō)白了也就是 SpringFrame- work。
    • Eclipse 中新建一個(gè) Target Platform。把上述的路徑 A和 B 加入到新 建的 Target Platform 中去。
    • 選擇新建的 Target Platform 為當(dāng)前活動(dòng)的 Platform。 3 啟航
    個(gè)人理解 Gemini 就是 OSGi 世界中的 IOC。既然是一個(gè) IOC 框架,那 我們就從創(chuàng)建一個(gè) Bean 開(kāi)始吧!

    3.1    創(chuàng)建一個(gè) Bean 首先我們來(lái)看一下我們要存入 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;
    }

    這個(gè)超級(jí)簡(jiǎn)單的一個(gè) POJO,我們?nèi)绾瓮ㄟ^(guò) Gemini 來(lái)創(chuàng)建他呢?我們通過(guò) 一個(gè)簡(jiǎn)單的配置文件。具體如下。
    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>

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

    將在控制臺(tái)得到如下內(nèi)容。

    控制臺(tái)中的黑色行顯示我們的 POJO 已經(jīng)被 BlueprintContainer 創(chuàng)建

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

    Feedback

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

    這一步怎么操作?  回復(fù)  更多評(píng)論
      

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

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

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


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产免费人成视频在线观看| 亚洲色婷婷综合开心网| 国产精品亚洲AV三区| 亚洲电影日韩精品| 51视频精品全部免费最新| 亚洲国产午夜精品理论片在线播放| 亚洲国产成人久久精品99 | 亚洲人成未满十八禁网站| 亚洲А∨精品天堂在线| 777爽死你无码免费看一二区| 亚洲一区二区三区写真| 亚洲va久久久噜噜噜久久狠狠| 日韩在线播放全免费| rh男男车车的车车免费网站| 亚洲国产成人精品电影| 亚洲小说区图片区另类春色| 无码少妇一区二区浪潮免费| 91国内免费在线视频| 久久亚洲AV成人无码国产电影| 亚洲AV无码一区二区二三区入口| 精品国产免费观看久久久| 日本卡1卡2卡三卡免费| 免费国产污网站在线观看不要卡| 亚洲精彩视频在线观看| 国产aⅴ无码专区亚洲av麻豆| 国产精品成人免费一区二区| 两性色午夜免费视频| 国产成人精品久久亚洲高清不卡| 18亚洲男同志videos网站| 久久久久亚洲av成人无码电影 | 亚洲午夜国产精品无卡| 国产又大又粗又硬又长免费| 国产亚洲国产bv网站在线| 在线播放免费人成视频网站| 久久精品亚洲视频| 亚洲国产成人久久一区久久| 久久精品网站免费观看| 在线免费观看国产| 免费无码又爽又刺激高潮软件| 无遮挡呻吟娇喘视频免费播放| 亚洲综合av一区二区三区不卡 |