FlexとSpringを統合


FlexとSpringを統合
参考文献はSpring Blazed Integration Reference Guideです。springはすでにflexと統合したサポートを提供しています。主要なjarカバンは住所をダウンロードします。http://www.springsource.com/download/community?project=Spring%20BlazeDS%20Integration
FlexとSpringを統合した核心思想はSpringにMessage Brokerを管理させることである。どうやって集めますか?三つのステップにまとめられます。
1、まず、web.xmlファイルを修正し、前に配置されたMessage Broker Servletを  スプリングに変えたものを除いて、
<servlet>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
                /WEB-INF/config/web-application-config.xml
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
 
<servlet-mapping>
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
2,新規ファイルweb-appration-config.xml

<?xml version="1.0" encoding="GB2312" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:flex="http://www.springframework.org/schema/flex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
 
<!-- Bootstraps and exposes the BlazeDS MessageBroker simplest form -->
<flex:message-broker id="_messageBroker" services-config-path="/WEB-INF/flex/services-config.xml">
    <flex:mapping pattern="/messagebroker/*" />
    <flex:exception-translator ref="myExceptionTranslator" />
</flex:message-broker>
 
<!--
           ,          :
<flex:message-broker/>
 
       :
<bean id="mySpringManagedMessageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean">
    <property name="servicesConfigPath" value="classpath*:flex/services-config.xml" />
</bean>
-->
 
<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <value>
            /*=_messageBroker
        </value>
    </property>
</bean>
 
<!--     Adapter      ,             -->
<!--
Dispatches requests mapped to a MessageBroker 
<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter" />
-->
 
</beans>
3,Remoting-config.xmlファイルを書きます。

<?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>
 
</service>
今までflexはもうspringと一体化しました。
4、スプリングのbeanをflexのDestinationにエクスポートします。私たちはweb-appration-config.xmlファイルに追加します。
3つの方法があります
最初の種類:
<bean id="productService" class="flex.samples.product.ProductServiceImpl" />
<flex:remoting-destination ref="productService" />
第二種類:
<bean id="productService" class="flex.samples.product.ProductServiceImpl" >
    <flex:remoting-destination />
</bean>
第三種類:
<bean id="product" class="org.springframework.flex.remoting.RemotingDestinationExporter">
    <property name="messageBroker" ref="_messageBroker"/>
    <property name="service" ref="productService"/>
    <property name="serviceId" value="productService"/>
    <property name="includeMethods" value="read, update"/>
    <property name="excludeMethods" value="create, delete"/>
    <property name="channels" value="my-amf, my-secure-amf"/>
</bean>
添付ファイルは一例工程で、jarを提供していません。プロジェクトに必要なjarを提供しています。
backport-util-concurrent.jar
cfgatewayadapter.jar
cglib-nodep-2.1_3.jar
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
concurrent.jar
flex-messaging-common.jar
flex-messaging-core.jar
flex-messaging-opt.jar
flex-messaging-proxy.jar
flex-messaging-remoting.jar
jackson-lgpl-0.9.5.jar
org.springframework.flex-1.0.0.RC1.jar
spring2.5.6.jar
spring-webmvc.jar
xalan.jar
本文は氷山の上のポッドキャストから来ました。http://xinsync.xju.edu.cn を選択しますhttp://xinsync.xju.edu.cn/index.php/archives/5078