spring集成blazeds,使用@RemoteDestination实现远程服务-悄悄俏俏
2011-11-04 16:36
519 查看
不废话,直接说步骤
web.xml
添加以下
第一次访问时会动态加载spring-flex.xml文件中的内容,来完成初始化,所以第一次会比较慢。
下面是spring-flex.xml
下面是类得部分代码
web.xml
添加以下
<servlet> <servlet-name>spring-flex</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-flex.xml</param-value> </init-param> </servlet>这里的init-param必须写,不写默认会报找不到xx-servlet.xml文件。
<servlet-mapping> <servlet-name>spring-flex</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping>这里是接受了blazeds的访问,我是采用了异步加载即单独的文件的方式,如果将spring-flex.xml集成进applicationContext.xml的话,之后使用blazeds会再将此文件加载一遍,就造成了不必要的资源浪费了。
第一次访问时会动态加载spring-flex.xml文件中的内容,来完成初始化,所以第一次会比较慢。
下面是spring-flex.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:flex="http://www.springframework.org/schema/flex" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring-flex-1.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd "> <!-- <bean id="_messageBroker" class="org.springframework.flex.messaging.MessageBrokerFactoryBean" > --> <!-- <property name="servicesConfigPath" value="classpath:services-config.xml" /> --> <!-- </bean> --> <context:component-scan base-package="com.wynlink.*" /> <!-- flex --> <!-- 为了把请求路由给 MessageBroker,添加以下 tag;;;例如BlazeDS XML配置文件默认位置为:/ WEB-INF/flex/services-config.xml。但可以使用services-config-path属性重新配置路径。classpath在maven项目中默认为src/main/resources路径下。 --> <!-- 如果路径发送改变用这个<flex:message-broker services-config-path="classpath*:services-config.xml"/> --> <flex:message-broker services-config-path="classpath*:services-config.xml"> </flex:message-broker> </beans>之前的配置文件中并没有写<context:component-scan base-package="com.wynlink.*" />,但是一样正常,只是最近突然发现spring-flex.xml在加载时不会帮我自动初始化使用@RemoteDestination注解的类,加上这个后就没问题了。
下面是类得部分代码
@Service("loginService") @RemotingDestination(channels={"my-amf"}, value="loginService") @Transactional(readOnly=true,rollbackFor=Exception.class) public class LoginService { @Autowired private LoginDAO dao; public User login(User user) { try { return dao.login(user.getUsername(), user.getPassword()); } catch (Exception e) { e.printStackTrace(); return null; } } public String getLoginUser() { User user = (User) FlexContext.getFlexSession().getAttribute("user"); if(null == user) return null; return user.getUsername() + "|" + user.getRole(); } }@service和@transaction是spring通过注解自动加载类和事务控制,跟本文无太大关系
相关文章推荐
- spring集成blazeds,使用@RemoteDestination实现远程服务
- 使用Spring来实现任务计划服务三:集成quartz任务调度框架
- SpringBoot系列十一:SpringBoot整合Restful架构(使用 RestTemplate 模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别)
- 使用BlazeDS实现Java和Flex通信(2)---BlazeDS 与Spring集成指南
- 在Spring项目中集成使用dubbo实现分布式服务
- springCloud(12):使用Hystrix实现微服务的容错处理-Hystrix的监控
- 《pro Spring》学习笔记之Spring HTTP 远程方法调用集成Tomcat实现安全验证
- Flex4 中使用Spring flex 来集成BlazeDS 进行远程调用
- spring cloud 使用Hystrix 实现断路器进行服务容错保护的方法
- 使用开放源代码框架的 Java 应用程序的 Web 服务集成模式,第 2 部分: 实现接收模式
- 使用Spring Cloud Consul实现服务的注册和发现
- 使用WebStorm/Phpstorm实现remote host远程开发
- Spring+RMI集成实现远程访问分布式应用
- Spring Cloud Spring Boot mybatis分布式微服务云架构(四十三)使用log4j实现http请求日志入mongodb(2)
- Spring与RMI集成实现远程访问
- 分布式缓存技术redis学习系列(五)——spring-data-redis与JedisPool的区别、使用ShardedJedisPool与spring集成的实现及一致性哈希分析
- 【Redis】spring-data-redis与JedisPool的区别、使用ShardedJedisPool与spring集成的实现及一致性哈希分析
- 【备忘】使用dubbo、spring-boot等技术实现互联网后台服务项目架构视频教程
- 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
- 使用Remote Desktop organizer远程桌面管理工具连接服务器不能实现真机与被远程主机之间的文件拖拉复制