RemoteCall
flex <===============> FlexService => Manager(即Service) => Dao
---------- ----------------------------------------
Flex客户端 java服务端
什么是Spring BlazeDS Integration?
简单的理解,就是把spring的bean暴露成BlazeDS服务。在Spring BlazeDS Integration之前,BlazeDS要访问spring的bean,得自己写代码。通过Spring BlazeDS Integration,当Flash来访问服务端时,spring会把请求转发给Flex message broker。同时,我们把spring中的一些bean暴露成Flex remoting service,那么Flash就能调用到spring中暴露成Flex remoting service的bean。很像spring暴露Hessian。
FlexSpringFactory implements FlexFactory
把Spring和BlazeDS结合起来了,当我们在Flex客户端调用服务端的someDestination时,因为该Destination中有一个factory——spring,所以转交给com.einsteinchina.web.util.FlexSpringFactory处理,而在SpringFactoryInstance类的lookup方法中,先获得该Servlet的上下文环境,再获取该Destination的source,而该source正是在Spring中定义的Bean名称,所以,最后通过获取该Bean来调用org.springflex.SomeBean,达到了最终调用的目的。
flex <===============> FlexService => Manager(即Service) => Dao
---------- ----------------------------------------
Flex客户端 java服务端
什么是Spring BlazeDS Integration?
简单的理解,就是把spring的bean暴露成BlazeDS服务。在Spring BlazeDS Integration之前,BlazeDS要访问spring的bean,得自己写代码。通过Spring BlazeDS Integration,当Flash来访问服务端时,spring会把请求转发给Flex message broker。同时,我们把spring中的一些bean暴露成Flex remoting service,那么Flash就能调用到spring中暴露成Flex remoting service的bean。很像spring暴露Hessian。
FlexSpringFactory implements FlexFactory
把Spring和BlazeDS结合起来了,当我们在Flex客户端调用服务端的someDestination时,因为该Destination中有一个factory——spring,所以转交给com.einsteinchina.web.util.FlexSpringFactory处理,而在SpringFactoryInstance类的lookup方法中,先获得该Servlet的上下文环境,再获取该Destination的source,而该source正是在Spring中定义的Bean名称,所以,最后通过获取该Bean来调用org.springflex.SomeBean,达到了最终调用的目的。