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

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

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

    果子的程序人生

    Spring blazeDS Integration destination not exists異常解決

    環境:
    • Spring blazeDS Integration 1.0.0 release
    • blazeDS 3.2.0.3978
    • jdk1.6.0_06
    • flex sdk 3.2.0
    • flex builder 3
    在web.xml中配置DispatcherServlet
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns
    ="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id
    ="WebApp_ID" version="2.5">
        
    <display-name>flex_server</display-name>
        
    <context-param>
            
    <param-name>contextConfigLocation</param-name>
            
    <param-value>/WEB-INF/context-*.xml</param-value>
        
    </context-param>
        
    <listener>
            
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        
    </listener>
        
    <servlet>
            
    <servlet-name>flex</servlet-name>
            
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>flex</servlet-name>
            
    <url-pattern>/messagebroker/*</url-pattern>
        
    </servlet-mapping>
        
    <welcome-file-list>
            
    <welcome-file>index.html</welcome-file>
        
    </welcome-file-list>
    </web-app>

    在flex-servlet.xml中定義destination
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx
    ="http://www.springframework.org/schema/tx" xmlns:flex="http://www.springframework.org/schema/flex"
        xsi:schemaLocation
    ="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-2.5.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
        http://www.springframework.org/schema/flex   
        http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"
    >
        
    <flex:message-broker />
        <!-- premiumService是普通的業務bean -->
        
    <flex:remoting-destination ref="premiumService"/>
    </beans>

    這樣在remoting-config.xml中就不需要定義destination了
    <?xml version="1.0" encoding="UTF-8"?>
    <service id="remoting-service" 
        class
    ="flex.messaging.services.RemotingService">

        
    <adapters>
            
    <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
        
    </adapters>

        
    <default-channels>
            
    <channel ref="my-amf"/>
        
    </default-channels>
        
    <!--注釋掉,否則啟動會報錯或出現其他問題
        <destination id="premiumService">
            <properties>
                <source>org.hag.flex.service.PremiumService</source>
            </properties>
        </destination>
        
    -->
    </service>

    測試
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        creationComplete
    ="premiumService.getPremiumList()">
        
    <mx:Script>
            
    <![CDATA[
                <!-- 省略import -->
                private function resultHandler(evt:ResultHandler):void
                {
                    Alert.show(evt.result.toString());
                }
                private function faultHandler(evt:FaultHandler):void
                {
                    Alert.show(evt.fault.toString());
                }
            
    ]]>
        
    </mx:Script>
        
    <mx:RemoteObject id="premiumService" ref="premiumService"
            result
    ="resultHandler(event)" fault="faultHandler(event)"/>
    </mx:Application>

    結果這時候報錯,destination "premiumService" either does not exists....
    原因是mxml編譯時要根據remoting-config.xml來處理destination的定義,而我們把premiumService定義在了spring bean中,所以它根本就不知道premiumService的存在。取消掉remoting-config.xml的注釋,再次對mxml進行編譯(如修改后保存),在瀏覽器中清除緩存、刷新,OK,結果出來了。

    注意在tomcat啟動時又要把remoting-config.xml定義的destination注釋掉,否則會出問題。或者干脆在其他地方建立一個文件專門用于mxml的編譯。

    posted on 2009-07-04 00:41 果子 閱讀(873) 評論(1)  編輯  收藏 所屬分類: springjavaflex

    評論

    # re: Spring blazeDS Integration destination not exists異常解決 2009-11-12 00:34 hbbbs

    GOOD,我也碰到了這個問題  回復  更多評論   

    導航

    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人亚洲国产精品久久| 亚洲中文字幕无码av永久| 野花视频在线官网免费1| 成人免费视频一区二区三区| 亚洲国产综合精品| 国产免费毛不卡片| 亚洲AV无码一区二区三区牛牛| 无码人妻久久一区二区三区免费丨 | 永久免费在线观看视频| 亚洲Av综合色区无码专区桃色 | 久久aⅴ免费观看| 久久精品国产亚洲av四虎| 久久99毛片免费观看不卡| 久久精品国产亚洲av麻豆| 18女人腿打开无遮掩免费| 91嫩草亚洲精品| 天天摸天天操免费播放小视频| 亚洲GV天堂无码男同在线观看| 国产成人免费a在线视频色戒| 国产精品亚洲а∨天堂2021| 国产av无码专区亚洲国产精品| 国产精品免费久久久久影院| 久久亚洲中文字幕精品有坂深雪| 69视频在线观看免费| 亚洲精品无码少妇30P| 亚洲美日韩Av中文字幕无码久久久妻妇 | 亚洲av无码一区二区乱子伦as| 免费A级毛片无码A∨免费| 亚洲精品天堂成人片AV在线播放 | 亚洲国产第一页www| 最近2019免费中文字幕视频三| 国产91在线|亚洲| 亚洲一区二区在线免费观看| 蜜臀98精品国产免费观看| 亚洲精品无码成人片久久不卡| 免费真实播放国产乱子伦| 男人的天堂网免费网站| 亚洲国产人成中文幕一级二级| 国产线视频精品免费观看视频| 亚洲黄色免费观看| 又爽又黄无遮挡高清免费视频|