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

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

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

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    SCA java編碼入門

     

    調(diào)出單機(jī)的Tuscany運(yùn)行時(shí)

    當(dāng)開始考慮Tuscany SCA java運(yùn)行時(shí)環(huán)境的時(shí)候,理解高層調(diào)用是什么和為什么是非常有用的。當(dāng)前關(guān)于”Domain”對象有些實(shí)現(xiàn),該對象用于啟動(dòng)Tuscany

    DefaultSCADomain –一個(gè)簡單的域?qū)崿F(xiàn),該實(shí)現(xiàn)隱藏了大部分的細(xì)節(jié)。現(xiàn)在為止用于大多數(shù)的測試用例。

    EmbeddedSCADomain – 用于將Tuscany嵌入到其他的系統(tǒng)中

    HotUpdateSCADomain - 當(dāng)他們改變的時(shí)候會自動(dòng)裝載的例子

    EmbeddedNode - 分布式域中的一個(gè)節(jié)點(diǎn)

    一般認(rèn)為EmbeddedSCADomain在調(diào)出運(yùn)行時(shí)給出了一個(gè)必要的好的入口點(diǎn)。這個(gè)類在svnhttp://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java)并且測試程序可在(http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomainTestCase.java)中看到。

     

    EmbeddedSCADomain類提供了將運(yùn)行時(shí)的所有部件都集中在單個(gè)虛擬機(jī)里的SCA domain的實(shí)現(xiàn)。創(chuàng)建嵌入式domain很直接:

     

    domain = new EmbeddedSCADomain(cl, domainName);

    domain.start();

     

    domain上調(diào)用start方法會創(chuàng)建所有的運(yùn)行時(shí)工件。特別地,所有的運(yùn)行時(shí)擴(kuò)展,比如implementation , binding , databinding , host會使用javaMETA-INF/services機(jī)制被加載和初始化。

    接下來要做的就是加載SCA應(yīng)用到域中。SCA應(yīng)用被作為contribution部署。Contributioncomposite文件(該文件是一個(gè)在SCA裝配規(guī)范中定義的結(jié)構(gòu))所需要的所有資源集合在composite文件中。這些資源可以是java,xml,xsd,swdl等等。EmbeddedSCADomain為讀取contribution提供了一個(gè)contribution服務(wù)。這里有一個(gè)獲取某個(gè)由URL標(biāo)識的contributioncontribution服務(wù)的例子。

    ContributionService contributionService = domain.getContributionService();

    Contribution contribution = contributionService.contribute("http://calculator",

                                                               contributionURL,

                                                               null, //resolver,

                                                               false);

    這個(gè)會在內(nèi)存中生成一個(gè)裝配模型(詳情請查看我翻譯的裝配模型規(guī)范)。你能通過詢問最終生成的contribution來獲取模型的可部署部件。

    Composite composite =contribution.getDeployables().get(0);

    可部署模型的跟是composite。該composite包含了將運(yùn)行于Tuscany運(yùn)行時(shí)環(huán)境的組件層次信息。以下的各個(gè)步驟讓邏輯裝配模型變成可運(yùn)行的工件,以便讓啟動(dòng)組件。

    第一步,將模型composite添加到頂層的本地域控制中。

    Domain.getDomainComposite().getIncludes().add(composite);

    然后是將邏輯模型的各個(gè)部件連接到一起的構(gòu)建階段,不如對服務(wù)的引用等等。

    Domain.getCompositeBuilder().build(composite);

    最后基于邏輯模型創(chuàng)建運(yùn)行時(shí)工件,這包括服務(wù)的endpoint和客戶端。

    Domain.getCompositeActivator().activate(composite);

    一旦所有的工作準(zhǔn)備就緒,域中的每個(gè)composite將獨(dú)立啟動(dòng)。其實(shí)這個(gè)階段,支持web serviceservlet都已經(jīng)部署了。

    for (Composite composite : domain.getDomainComposite().getIncludes()) {

        Domain.getCompositeActivator().start(composite);

    }

     

    分布式運(yùn)行時(shí)

     

    當(dāng)域是分布式地跨越多個(gè)VM的時(shí)候,就需要做這步。一旦邏輯模型已經(jīng)經(jīng)過了構(gòu)建階段,有一步是提供給運(yùn)行時(shí)信息的,以便讓遠(yuǎn)程服務(wù)能自動(dòng)地解決跨網(wǎng)絡(luò)的問題。也就是說我們將裝配模型中的所有服務(wù)和引用連起來構(gòu)成一個(gè)分布域的邏輯概念。

    distriutedDomain.addDistributedDomainToBindings(composite);

    posted on 2008-04-27 22:16 gembin 閱讀(632) 評論(0)  編輯  收藏 所屬分類: SCASOA

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 亚洲成a人片77777kkkk| 手机在线看永久av片免费| 亚洲冬月枫中文字幕在线看| 日韩成全视频观看免费观看高清| 岛国岛国免费V片在线观看| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲国产成人久久一区久久| 天天看片天天爽_免费播放| 国产四虎免费精品视频| 中国精品一级毛片免费播放| 国产精品免费久久| 亚洲熟妇av午夜无码不卡| 亚洲黄色免费网站| 久久精品国产亚洲77777| 亚洲国产精品无码一线岛国| 国产亚洲精品看片在线观看| 亚洲福利中文字幕在线网址| 日韩成人免费aa在线看| 国产免费午夜a无码v视频| 国产一精品一aⅴ一免费| 亚洲欧洲久久久精品| 四虎影视永久免费观看网址 | 亚洲成A人片在线观看中文| 在线观看免费a∨网站| 免费电影在线观看网站| 国产免费人成视频在线观看| 国产免费黄色大片| 亚洲精品国产精品乱码在线观看 | 一级毛片免费在线播放| h视频在线观看免费| 99精品视频免费在线观看| 免费在线看v网址| 一级毛片直播亚洲| 亚洲av网址在线观看| 亚洲国产人成在线观看| 亚洲毛片基地4455ww| 中文字幕乱理片免费完整的| 巨波霸乳在线永久免费视频| 免费大片在线观看网站| 亚洲国产香蕉碰碰人人| 亚洲精品无码人妻无码|