`

Flex、Spring整合:Spring BlazeDS Integration

阅读更多
准备:
1、下载Spring BlazeDS Integration:http://www.springsource.org/spring-flex
2、将下载回来的jar放置到我们之前创建的blazeds项目http://depravedangel.iteye.com/blog/871480lib下

整合:
1、将原来flex提供的MessageBroker
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>

替换成Spring MVC 控制
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<servlet-mapping>
		<url-pattern>/spring/*</url-pattern>
	</servlet-mapping>


2、将blazeds/WEB-INF/flex/services-config.xml中
		<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
			<endpoint
				url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"
				class="flex.messaging.endpoints.AMFEndpoint" />
		</channel-definition> -->

替换成Spring的url,交由spring过滤
	
		<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
			<endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amf"
			class="flex.messaging.endpoints.AMFEndpoint"/>
			<properties>
				<polling-enabled>false</polling-enabled>
			</properties>
		</channel-definition>


3、打开applicationContext.xml,添加如下bean:
<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
	<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<value>/*=springManagedMessageBroker</value>
		</property>
	</bean>
	
	<!-- Dispatches requests mapped to a MessageBroker -->
	<bean class="org.springframework.flex.messaging.servlet.MessageBrokerHandlerAdapter" />
	
	<!-- Bootstraps and exposes the BlazeDS MessageBroker -->
	<bean id="springManagedMessageBroker" class="org.springframework.flex.messaging.MessageBrokerFactoryBean" />


4、打开services-config.xml,删除我们自己配置的SpringFactory
<factories>
		<factory id="spring" class="com.sky.flexonspring.factories.SpringFactory" />
	</factories>

现在已经由SBI帮我们处理了,不再需要我们再去关心了

5、打开remoting-config.xml文件,删除如下代码:
<destination id="guestListService">
		<properties>
			<factory>spring</factory>
			<source>guestListService</source>
		</properties>
	</destination>

整合SBI后,remoting-config.XML不再需要配置了,改成在applicationContent.xml中添加如下配置:

<!-- Expose the guestListService bean for BlazeDS remoting -->
	<bean id="guestService" class="org.springframework.flex.messaging.remoting.FlexRemotingServiceExporter">
		<property name="messageBroker" ref="springManagedMessageBroker"/>
		<property name="service" ref="guestListService"/>
	</bean>


6、最后一步,修改前台Flex程序的remoteObject对象属性,使其指向spring的url,便于spring过滤转发
<mx:RemoteObject id="ro"
					 destination="guestService"
					 endpoint="http://localhost:8080/blazeds/spring/messagebroker/amf"
分享到:
评论
4 楼 depravedangel 2011-10-06  
maoyongkang 写道
本来很简单一件事情,被网上这些高手整的那么复杂,浪费了我一天的时间。

简单不简单,在于了解其框架的演变过程,知道为啥要这样,框架到最后肯定是越来越简单,但是大致原理还是差不多,只是封装越来越多,理解原理比只知道怎么搭起来要重要
3 楼 depravedangel 2011-10-06  
maoyongkang 写道
一定得写这个endpoint="http://localhost:8080/blazeds/spring/messagebroker/amf"吗?

可以不需要,这个可以自己写个主servlet在后台截取前台传过来的amf数据解析一下,重新找到对应的service动态执行一下,只要了解amf的数据协议即可
2 楼 maoyongkang 2011-10-03  
本来很简单一件事情,被网上这些高手整的那么复杂,浪费了我一天的时间。
1 楼 maoyongkang 2011-10-02  
一定得写这个endpoint="http://localhost:8080/blazeds/spring/messagebroker/amf"吗?

相关推荐

    Spring整合flex-Spring BlazeDS Integration-带项目demo

    Spring BlazeDS Integration是Spring框架的一个组件,它提供了与Adobe Flex的无缝集成,允许后端Java服务与前端Flex客户端进行通信。这个项目demo提供了实际操作的例子,帮助开发者理解和实现Spring与Flex的结合。 ...

    Spring BlazeDS Integration Spring集成BlazeDS

    **Spring BlazeDS Integration** 是一个强大的技术组合,它允许开发者使用Spring框架在后端服务器上进行业务逻辑处理,同时利用Adobe Flex在前端构建富互联网应用程序(RIA)。BlazeDS是Adobe提供的一种开源服务器端...

    Spring BlazeDS Integration 1.0.0

    **Spring BlazeDS Integration 1.0.0** 是一个关键的框架,它为Spring应用程序与Adobe Flex客户端之间的通信提供了一种高效且灵活的解决方案。这个版本的发布标志着开发者可以更轻松地利用Flex的富互联网应用(RIA)...

    flex+Spring+Hibernate+Cairngorm+BlazeDS+Spring BlazeDS Integration整合框架

    使用flex 4.5 + Spring 3.0 + Hibernate 3.3 + Cairngorm 2.2.1 + BlazeDS 3.3.0 + Spring BlazeDS Integration 1.0.3整合出的一个登录的小demo·

    spring整合flex所需jar包

    - Spring-BlazeDS Integration:这是一个Spring项目,它提供了与BlazeDS的集成,使得配置Spring服务为Flex客户端可用变得更加简单。 - Proxy服务:在Spring中定义Proxy服务,这些服务会被BlazeDS暴露,供Flex...

    spring 整合flex,整合webService

    在Spring中,我们可以使用Spring BlazeDS Integration项目来实现AMF通信,它为Spring和BlazeDS之间提供了无缝集成。 接下来,我们要讨论的是WebServices。WebServices基于SOAP(Simple Object Access Protocol)和...

    Flex 与 Spring整合

    4. **Spring-BlazeDS Integration**:Spring提供了对BlazeDS的官方支持,通过`spring BlazeDS integration library`,可以轻松地将Spring服务暴露给Flex客户端。这个库包括了Spring的配置元素和处理器,用于处理AMF...

    flex+spring flex整合

    2. **环境要求**:整合Flex和Spring需要Java 1.5及以上版本、Tomcat 6及以上版本、Spring 2.5及以上版本、BlazeDS 3.2及以上版本以及Spring BlazeDS Integration 1.0及以上版本。同时,还需要支持Flash Player 9.0或...

    flex-spring blazeds integration基本框架搭建记录

    《Flex-Spring BlazeDS 整合基础架构构建详解》 在现代Web开发中,富互联网应用程序(Rich Internet Applications,简称RIA)的需求日益增长,而Flex作为Adobe提供的RIA开发框架,因其强大的图形用户界面和与服务器...

    Spring 整合 Flex 包

    通过使用 Spring BlazeDS Integration,可以轻松地在 Flex 客户端和 Spring 服务之间建立双向数据绑定,实现高效的远程调用(Remote Procedure Call,RPC)机制。 Spring Flex 提供了以下关键组件和特性: 1. **...

    hibernate+flex+spring 整合,hibernate+flex+spring 集成

    - **配置Flex与Spring的通信**:使用Spring BlazeDS Integration或Spring Web Services为Flex客户端提供与Spring服务的接口。BlazeDS是Adobe提供的一个服务器端组件,可以实现AMF(Action Message Format)协议,使...

    flex整合spring需要的spring相关包

    6. **安全性考虑**:整合Flex和Spring时,安全问题不容忽视。可以通过Spring Security对服务进行权限控制,限制Flex客户端的访问权限。同时,数据传输应进行加密,例如使用HTTPS协议。 7. **异常处理**:在Spring...

    Flex4 spring整合实例

    这个包包括了Spring BlazeDS Integration库,它提供了一个基于BlazeDS的解决方案,BlazeDS是一个免费的数据和消息中间件,允许Flex应用程序与Java后端进行AMF(Action Message Format)数据传输。 集成步骤通常包括...

    spring整合Flex

    2. ** BlazeDS / LCDS**: Spring与Flex之间的通信通常通过BlazeDS或LiveCycle Data Services (LCDS)实现,它们是Adobe提供的服务器端组件,支持AMF(Action Message Format)协议,使得数据能高效地在Flex客户端和...

    spring整合flex简单明了的小例子

    3. **Spring与Flex的整合**:整合Spring和Flex主要是通过AMF(Action Message Format)协议来实现的。AMF是一种高效的二进制序列化格式,它使得Flex客户端能与Spring服务端进行快速、低开销的数据交换。在Spring中,...

    Adobe Flex 和 Spring 相关配置整合

    为了使得Flex客户端能够方便地与Spring管理的Bean交互,开发者可以借助开源框架BlazeDS和Spring BlazeDS Integration。 BlazeDS是Adobe的开源项目,它为Flex和基于Java的后端应用之间提供了远程调用(Remote ...

    Flex整合spring,hibernate

    通过Spring BlazeDS Integration,Spring的服务可以被暴露为AMF通道,使得Flex应用能够无缝调用Spring Bean。 5. Flex与Hibernate整合:Flex通常通过HTTP服务(如Spring的REST或Remoting服务)与后端数据交互。...

Global site tag (gtag.js) - Google Analytics