Spring BlazeDS Integration 的helloworld程序

本文详细介绍如何将Spring MVC与Adobe BlazeDS集成,实现Flex应用与Java后端服务的交互。包括配置Spring MVC拦截器、设置远程对象映射及调整services-config.xml等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 前期:
[quote]
spring-flex-1.0.1.RELEASE
Java 5 or higher
Spring 2.5.6 or higher(需要spring.jar和spring_mvc.jar)
Adobe BlazeDS 3.2 or higher (war包下的WEB-INF文件夹)
把相关jar放入WEB-INF/lib
[/quote]
然后添加BlazeDS到web项目中(可参考前一篇BlazeDS)

二 详细步骤(参考spring-flex-1.0.1.RELEASE 的refrence)
要点:
[quote]
1.springMVC拦截请求(web.xml文件)
2.配置spring的配置文件(设置拦截处理的beans),映射
3.编写并配置要映射为RemoteObject的bean
4.修改services-config.xml(重要)
[/quote]

1.springMVC拦截请求(web.xml文件)
这里制定了spring的配置文件为
/WEB-INF/config/web-application-config.xml

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

<!-- The front controller of this Spring Web application, responsible for handling all application requests -->
<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>
<!-- Map all /messagbroker requests to the DispatcherServlet for handling -->
<servlet-mapping>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>



2.配置spring的配置文件(设置拦截处理的beans),映射

<?xml version="1.0" encoding="UTF-8"?>
<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">
<!--这里有三种方法配置处理请求的flex MessageBroker-- 任意选择其中一种-->
<!--方法一 可以指定services- config.xml文件位置 -->
<bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" >
<property name="servicesConfigPath"
value="classpath*:services- config.xml" />
</bean>

<!--方法二 这里需要引入一个json的包(具体我忘了),否则报错
<flex:message-broker services-config-path="classpath*:services-config.xml"/>
-->
<!--方法3 也需要引入json包,否则报错 默认在/WEB-INF/flex/services-config.xml -->
<flex:message-broker/>
-->

<!--============ mapping ============-->
<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
<!--这里的_messageBroker为上面那个bean的id-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/*=_messageBroker
</value>
</property>
</bean>

<!-- Dispatches requests mapped to a MessageBroker -->
<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/>


</beans>




3.编写并配置要映射为RemoteObject的bean
(有3种方法,可参考包自带的参考文献)

<bean id="helloWorldService" class="HelloWorld"></bean>
<flex:remoting-destination ref="helloWorldService" />

这样一个destination id为“helloWorldService”的RemoteObject就好了

4.修改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"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>


还要在<services>中加入

<default-channels>
<channel ref="my-amf" />
</default-channels>

然后删掉remoting-config.xml里面上面那段,问我为什么我不知道,反正不怎么做
客户端一调用就fault(对象已拿到)但不存在channel之类的错误


最后客户端

<mx:RemoteObject id="helloRO" destination="helloWorldService" result="resultHandler(event)" fault="faultHandler(event)"/>
内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值