zt Flex3+Blazeds+Spring+Hibernate调整

zt Flex3+Blazeds+Spring+Hibernate整合

http://hi.baidu.com/liweigov/blog/item/66e53e12febf1a28dc540129.html

Flex3+Blazeds+Spring+Hibernate整合

 

Step1: 准备开发环境

 

(1)       下载Blazeds

http://opensource.adobe.com/wiki/display/blazeds/Release+Builds

选择下载Turnkey版本,因为自带了一些不错的例子,对学习Blazeds很有帮助。打开下载好的压缩包,找到blazeds.war包,这就是我们真正需要的文件。

 

(2)       下载Blazeds调用Spring组件

http://www.adobe.com/devnet/livecycle/articles/blazeds_spring.html

下载Sample files,打开下载好的压缩包,factory\src\flex\samples\factories路径的SpringFactory.java就是我们需要的组件。

 

Step2: 配置project

 

 

(1)    配置SpringHibernate

(2)       配置web.xml

解压blazeds.war,打开WEB-INF目录下的web.xml,将下面这段代码拷贝到后台工程的WEB-INF/web.xml

<!-- Http Flex Session attribute and binding listener support -->

<listener>

        <listener-class>

flex.messaging.HttpFlexSession

</listener-class>

</listener>

<!-- MessageBroker Servlet -->

<servlet>

<servlet-name>MessageBrokerServlet</servlet-name>

<display-name>MessageBrokerServlet</display-name>

   <servlet-class>

flex.messaging.MessageBrokerServlet

</servlet-class>

     <init-param>

          <param-name>

services.configuration.file

</param-name>

          <param-value>

/WEB-INF/flex/services-config.xml

</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>MessageBrokerServlet</servlet-name>

     <url-pattern>/messagebroker/*</url-pattern>

</servlet-mapping>

 

(3)       配置Blazeds

解压blazeds.war,将lib目录中的jar包拷贝到后台工程目录下的lib目录下,将flex目录拷贝到后台工程WEB-INF目录下

 

(4)       配置SpringFactory

将在Step1第二步骤中找到的SpringFactory.java拷贝到相应的package下,然后打开WEB-INF/flex/services-config.xml,添加下面的配置:

<factories>

      <factory id="spring" class="xxx.xxx.SpringFactory"/>

</factories>

 

(5)       配置remoting-config.xml

打开WEB-INF/flex/services-config.xml,添加下面的配置:

<destination id="productService">

<properties>

             <factory>spring</factory>

             <!-- source对应的是beanid -->

             <source>xxxxx</source>

      </properties>

</destination>

Step3: Flex端调用

 

(1)    添加RemoteObject

<mx:RemoteObject id="rbt" destination="productService" endpoint="/xxxxxx/messagebroker/amf"> <!-- xxxxxx一般为后台工程名 -->
   <mx:method name="createProduct" result="resultCreateProduct(event)" fault="faultCreateProduct(event)"/>
</mx:RemoteObject>

 

(2)    调用RemoteObject

rbt.createProduct(product);