现在的位置: 首页 > 综合 > 正文

Flex4 中使用Spring flex 来集成BlazeDS 进行远程调用

2013年08月20日 ⁄ 综合 ⁄ 共 6430字 ⁄ 字号 评论关闭

原文:http://www.nomanland.net/2010/05/21/flex-series-guide-integration2/

 

Spring BlazeDS Integration 是什么?

Spring BlazeDS Integration 是 SpringSource
的开源项目,用于整合 Spring 与 BlazeDS。

为什么需要 Spring BlazeDS Integration?

正如“Flex4
系列教程之六

”介绍的:不使用 Spring BlazeDS Integration 同样可以整合 Spring 与
BlazeDS。但这种整合方式不自然,需要额外维护一个 BlazeDS 配置文件,Spring BlazeDS Integration
会改善这种处境。

Spring BlazeDS Integration 需要的软件环境:

  • Java 5 或更高
  • Spring 2.5.6 或更高
  • BlazeDS 3.2 或更高

Spring BlazeDS Integration 特征

  • MessageBroker(BlazeDS 的核心组件)被配置为 Spring 管理的 Bean
  • Flex 客户端发出的 HTTP 消息通过 Spring 的 DispatcherServlet 路由给 MessageBroker
  • Remote objects 以 Spring 的annonation方式扫描托管在 Spring中
  • 开放RDS服务器。以方便FB4 的(数据/服务)功能菜单的使用

注意事项:


第一步:准备所需 jar 包

将以下 3 部分 jar 包拷贝到 sampleApp 项目的 lib 下

  1. Spring Framework
    org.springframework.aop-3.0.2.RELEASE.jar
    org.springframework.asm-3.0.2.RELEASE.jar
    org.springframework.beans-3.0.2.RELEASE.jar
    org.springframework.context-3.0.2.RELEASE.jar
    org.springframework.core-3.0.2.RELEASE.jar
    org.springframework.expression-3.0.2.RELEASE.jar
    org.springframework.web.servlet-3.0.2.RELEASE.jar
    org.springframework.web-3.0.2.RELEASE.jar
  2. Spring Framework dependencies
    org.aopalliance 内的 com.springsource.org.aopalliance-1.0.0.jar
    edu.emory.mathcs.backport 内的
    com.springsource.edu.emory.mathcs.backport-3.0.0.jar
    net.sourceforge.cglib 内的 com.springsource.net.sf.cglib-2.2.0.jar
    [注:]Spring 3 的依赖包用Ivy 或 Maven 管理会很方便,完成本系列教程后我会单独整理这部分。暂且手动拷贝吧
    :)
  3. Spring BlazeDS Integration
    org.springframework.flex-1.5.0.CI-498.jar

第二步:修改 web.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app
id="WebApp_ID"
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>zara</display-name>

<context-param>
<param-name>flex.class.path</param-name>
<param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
</context-param>

<!-- Http Flex Session attribute and binding listener support -->
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>


<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>



<!-- 定义spring 以及 spring flex 集成的配置 -->
<servlet>
<servlet-name>MessagebrokerServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/META-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map /spring/* requests to the DispatcherServlet -->
<servlet-mapping>
<servlet-name>MessagebrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<!-- 定义spring 以及 spring flex 集成的配置 结束-->

<!-- 访问RDS 定义开始-->
<servlet>
<servlet-name>RDSDispatchServlet</servlet-name>
<display-name>RDSDispatchServlet</display-name>
<servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class>
<init-param>
<param-name>useAppserverSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>messageBrokerId</param-name>
<param-value>_messageBroker</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping
id="RDS_DISPATCH_MAPPING">
<servlet-name>RDSDispatchServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>
<!-- 访问RDS 定义结束 -->

</web-app>

第三步:配置 web-application-config.xml

  1. 创建应用上下文配置文件 applicationContext.xml

 

 

第四步:配置 springFlex.xml

 

 

第五步:编写后台Bean,使用标签@RemotingDestination来透出接口,给flex client调用

 

 

 

注意:为了使用FB4 中的 (数据/服务)功能。在编辑器中可以访问后端的java bean。

必须在建立项目的时候,先建立一个web项目,然后再加入flex project的性能的方法。使得这个项目具有web应用和flex应用2重性。

不能直接建立一个flex project 选中使用WTP整合java/flex的功能。否则在IDE下无法使用(数据/服务)菜单访问后台的bean。


 

抱歉!评论已关闭.