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

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

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

    樂在其中

    以JEE為主攻,以Flex為點(diǎn)綴,以Eclipse RCP為樂趣
    請?jiān)L問http://www.inframesh.org

    首頁 新隨筆 聯(lián)系 管理
      43 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

    OpenAMF openamf-config.xml 配置
    第一個(gè)標(biāo)簽
    <amf-serializer>
    <force-lower-case-keys>false</force-lower-case-keys>
    </amf-serializer>
    這個(gè)標(biāo)簽的存在的意義在于當(dāng)openamf發(fā)送傳遞給Flash 客戶端的AMF消息時(shí),是否把用來返回自定義類的Hashmap里面的key轉(zhuǎn)換成小寫。
    一邊情況下,當(dāng)我們發(fā)送一個(gè)hashmap給客戶端時(shí),客戶端把它當(dāng)作一個(gè)custom class的object來對待。
    比如你有一個(gè)java方法返回一個(gè)hashmap
    public Hashmap getValue(){
    Hashmap resultObj=new Hashmap();
    result.put("nameSpace","com.flashseer.org");
    return resultObj;
    }
    在actionscript中你可以用
    resultObj.nameSpace
    的寫法來引用java里面hashmap中的一個(gè)值。
    當(dāng)你把這個(gè)標(biāo)簽的屬性設(shè)置為true的時(shí)候,返回給Flash client的object中,所有的key都被轉(zhuǎn)換成小寫。
    所以,如果你使用Actionscript2.0的時(shí)候,因?yàn)锳S2區(qū)分大小寫。你就不可能用resultObj.nameSpace來引用了。
    因?yàn)椋琻ameSpace已經(jīng)被轉(zhuǎn)換為小寫了。你必須使用namespace來引用。
    這里,官方的example里面注釋說了,
    如果你用actionscrpt2.0的話,把這個(gè)設(shè)置為false。否則,如果你用了大寫的字母作為key,在客戶端就會出問題。
    如果你用as1的話,可以設(shè)置為true
    第二個(gè)標(biāo)簽
    <invoker>
    <name>Java</name>
    <class>org.openamf.invoker.JavaServiceInvoker</class>
    </invoker>
    這個(gè)標(biāo)簽是用來調(diào)用java端的服務(wù)的。
    這里,提供了許多的invoker供你使用。
    放在這里的是最常用的一個(gè)invoker。這個(gè)invoker的作用就是根據(jù)service的位置在classpath里面找到這個(gè)class,并且調(diào)用其中的方法。
    另外,還可以使用其他的invoker,
    比如EJB,Spring,WebService都是非常實(shí)用的invoker.
    按照需要,放置這些invoker.
    可以在example的配置文件里找到所有的invoker
    第三個(gè)標(biāo)簽:自定義類的映射
    <custom-class-mapping>
    <java-class>org.openamf.examples.Person</java-class>
    <custom-class>org.openamf.examples.Person</custom-class>
    </custom-class-mapping>
    這個(gè)映射的作用是讓你的FlashClient接收到正確的類型。
    比如,在flashclient端,你調(diào)用一個(gè)方法后,接收到一個(gè)resultObj
    如果你不進(jìn)行類型映射,那么,這個(gè)resultObj是沒有類型的。他就是一個(gè)object.你無法使用這個(gè)object的方法,只能通過引用屬性的方法引用到屬性。
    但是,如果你在這里做了映射,在flash里面就可以得到一個(gè)具有類型的object。
    用 trace(resultObj instanceof org.openamf.examples.Person) 就可以看到效果。
    這個(gè)標(biāo)簽可以重復(fù),映射多個(gè)自定義class
    第四個(gè)標(biāo)簽:命名你的service(注意,這個(gè)部分需要使用advancedGateway)
    <service>
                  <!--name這個(gè) node定義一下你的service的名字,這樣,你就不用在flash里面把你的整個(gè)class都寫在里面了,而只需要用這個(gè)name來代替-->
    <name>Directory</name>
    <!--這個(gè)標(biāo)簽的作用其實(shí)就是讓你指定你上面定義的那個(gè)name對應(yīng)哪個(gè)class。-->
    <service-location>org.flashseer.Example</service-location>
    <!---這個(gè)標(biāo)簽 同上面的invoker標(biāo)簽對應(yīng),這樣,一旦advancedGateway發(fā)現(xiàn)了你定義的這個(gè)service,就不用遍歷所有的invoker來查找相應(yīng)的服務(wù)。
    注意如果你沒有定義這個(gè)的話,默認(rèn)情況下,openamf會給所有可能的class打一個(gè)分,取分最高的來調(diào)用--->
    <invoker-ref>Java</invoker-ref>
    <!--這里定義一下需要call的方法-->
    <method>
    <!-- 方法名 -->
    <name>addPerson</name>
    <!--參數(shù)定義,這里的參數(shù)可以使用一個(gè)class的名字或者使用通配符,
    *就代表許多個(gè)參數(shù),?代表一個(gè)參數(shù)-->
    <parameter>
    <type>*</type>
    </parameter>
    <!-- 這個(gè)result-filter實(shí)際上是可以自己來寫實(shí)現(xiàn)的。實(shí)現(xiàn)org.openamf.filter.ResultFilter即可
    其中,class標(biāo)簽中,是你需要使用的filter。 你可以使用兩個(gè)由openamf提供的filter,也可以自己來實(shí)現(xiàn)。
    其中parameter的兩個(gè)標(biāo)簽其實(shí)就是一個(gè)自定義的object,你可以自己隨便定義然后,在實(shí)現(xiàn)filter的時(shí)候來使用。
          -->
    <result-filter>
    <class>org.openamf.filter.BeanListToRecordSet</class>
    <parameter>
    <name>ignore</name>
    <value>extraInfo</value>
    </parameter>
    </result-filter>
    </method>
    </service>
    這個(gè)標(biāo)簽的意義在于它可以幫助你更快,更方便的找到flash remoting說調(diào)用的service.前面也提到了,如果你不指定的話,可能會導(dǎo)致每次openamf都要去做match,計(jì)算匹配值,然后取高的。

    posted on 2008-12-26 11:38 suprasoft Inc,. 閱讀(958) 評論(0)  編輯  收藏 所屬分類: RIA/Flex

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


    網(wǎng)站導(dǎo)航:
     
    ©2005-2008 Suprasoft Inc., All right reserved.
    主站蜘蛛池模板: 无码成A毛片免费| 天堂在线免费观看| 丁香花免费高清视频完整版| 亚洲av无码一区二区乱子伦as| 一级毛片不卡免费看老司机| 亚洲Av无码乱码在线znlu| 黄色一级免费网站| 免费A级毛片无码A∨男男| 香港经典a毛片免费观看看| 亚洲成av人片不卡无码久久| 五月天婷婷精品免费视频| 国产成人综合亚洲亚洲国产第一页| 亚洲精品视频免费观看| 亚洲乱码国产乱码精品精| 国产一级a毛一级a看免费人娇| 国产av无码专区亚洲av桃花庵| 免费人成网站在线观看不卡 | 免费人妻无码不卡中文字幕18禁| 色五月五月丁香亚洲综合网| 国产极品粉嫩泬免费观看| 国产精品一区二区三区免费 | 免费在线视频你懂的| 亚洲最大中文字幕无码网站| 夜夜爽免费888视频| 人体大胆做受免费视频| 亚洲妇熟XXXX妇色黄| 一个人在线观看视频免费| 国产亚洲一卡2卡3卡4卡新区| 久久精品国产亚洲5555| 人妻丰满熟妇无码区免费 | 亚洲中文字幕丝袜制服一区| 中文字幕日本人妻久久久免费| 亚洲天堂福利视频| 国产免费观看网站| 免费国产成人午夜在线观看| 亚洲妇女熟BBW| 亚洲精品乱码久久久久久中文字幕 | 亚洲暴爽av人人爽日日碰| 中文字幕精品亚洲无线码一区应用| 久久国产乱子伦精品免费一| 亚洲av无码日韩av无码网站冲|