linlinyu

          linlinyu
          posts - 0, comments - 4, trackbacks - 0, articles - 15

          Flex 訪問 Ejb如此簡單

          Posted on 2008-10-09 21:32 linlin yu 閱讀(1177) 評論(1)  編輯  收藏 所屬分類: ejbjavaflex
          • 開始之前
            學習本文內容之前,你至少要能用JAVA、EJB和Flex寫出Helloword這樣簡單的應用程序,并且下載安裝了Pomer和運行過PomerUserIndex.mxml,但不一定要了解blazedslcds。如果閱讀過Pomer簡介Pomer下載與安裝Pomer架構介紹 有助于學習本文。

          • 概述
            本文主要演示通過blazeds/lcds訪問遠程EJB,Pomer框架封裝了blazeds/lcds的訪問式,用戶無須添加配置文件,只須在EJBDestinationRegister注冊即可將Java對象發布成blazeds/lcds的遠程對象(RemoteObject),進行遠程訪問。


          • 新建EJB項目并增加一個無狀態的SessionBean
            在Myeclipse中如何新建和布署EJB不在本講解范圍,用戶可參照MyEclipse相關幫助文檔。
            用戶自己建一個HelloEJB的SessionBean,并增加public String hello(String name)方法; 確認HelloEJB可以被遠程訪問


          • 注冊EJB
            在cn.org.pomer.flex.remoting.services.EJBDestinationRegister的構造函數增加EJB注冊信息。
            復制內容到剪貼板
            代碼:
            public EJBDestinationRegister() {
            super();
            this.list = new ArrayList<EJBDestination>();

            //add here
            add("helloEJB", "HelloServicesImpl/remote");
            }
          • 新建Flex應用HelloEJB.mxml
            復制內容到剪貼板
            代碼:
            <?xml version="1.0" encoding="utf-8"?>
            <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
            <mx:Script>
            <![CDATA[
            import mx.controls.Alert;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;
            private function helloClick():void{
            helloSpring.hello("pomer");
            }
            private function helloEJBFault(e:FaultEvent):void{
            Alert.show(e.fault.message.toString());
            }
            private function helloEJBResult(e:ResultEvent):void{
            Alert.show(e.result as String);
            }
            ]]>
            </mx:Script>

            <mx:RemoteObject endpoint="../messagebroker/amf"
            id="helloEJB"
            fault="helloEJBFault(event)"
            result="helloEJBResult(event)"
            destination="helloEJB" showBusyCursor="true"/>


            <mx:Button label="hello" click="helloClick();"/>
            </mx:Application>
          • 布署運行

            • 啟動Tomcat,日志出現如下標記,布署成功



            • 右擊HelloJava.mxml->Run as->Flex application



          • 原理分析
            查看WEB-INF\flex\services- config.xml,EJBRemotingDestinationBootstrapService類從 EJBDestinationRegister類得到所有要遠程訪問的Ejb,自動加入服務中。EJBFactory根據 EJBDestinationRegister提供的內容自動創建遠程對象。

          Feedback

          # re: Flex 訪問 Ejb如此簡單  回復  更多評論   

          2012-03-01 14:33 by akan
          我是特意來感謝的,一個游戲項目做了2年多,還挺火的一個游戲,最近辭職了重新審視架構代碼,才發現用的原來是樓主的框架。這個架構對我這個老java程序員,最好的地方是自動生成代碼那塊,省了不少工作量。我希望在通信模塊和db那塊都做些修改,以便更適應今天的游戲項目,有了進展再來你這里。

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


          網站導航:
           
          主站蜘蛛池模板: 石渠县| 图们市| 个旧市| 来宾市| 枣庄市| 桂平市| 松原市| 唐河县| 蓬安县| 吴旗县| 长武县| 富蕴县| 平安县| 美姑县| 信宜市| 沙坪坝区| 体育| 三穗县| 温州市| 图们市| 和静县| 城口县| 安泽县| 台南市| 封丘县| 民丰县| 诸暨市| 防城港市| 长泰县| 安康市| 勃利县| 江安县| 科尔| 柳林县| 沅陵县| 增城市| 龙里县| 绵竹市| 彝良县| 百色市| 三亚市|