Flex、Spring整合:Spring BlazeDS Integration

准备:
1、下载Spring BlazeDS Integration: http://www.springsource.org/spring-flex
2、将下载回来的jar放置到我们之前创建的blazeds项目 https://my.oschina.net/darkness/blog/802169 lib下

github: https://github.com/darknessitachi/blazeds_SBI

整合:
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"

转载于:https://my.oschina.net/darkness/blog/802149

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值