`

blazsds集成spring

    博客分类:
  • Flex
阅读更多
用到Jeff Vroom同学写得一个SpringFactory
public class SpringFactory implements FlexFactory
{
    private static final String SOURCE = "source";

    /**
     * This method can be used to initialize the factory itself.  It is called with configuration
     * parameters from the factory tag which defines the id of the factory.  
     */
    public void initialize(String id, ConfigMap configMap) {}

    /**
     * This method is called when we initialize the definition of an instance 
     * which will be looked up by this factory.  It should validate that
     * the properties supplied are valid to define an instance.
     * Any valid properties used for this configuration must be accessed to 
     * avoid warnings about unused configuration elements.  If your factory 
     * is only used for application scoped components, this method can simply
     * return a factory instance which delegates the creation of the component
     * to the FactoryInstance's lookup method.
     */
    public FactoryInstance createFactoryInstance(String id, ConfigMap properties)
    {
        SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
        instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
        return instance;
    } // end method createFactoryInstance()

    /**
     * Returns the instance specified by the source
     * and properties arguments.  For the factory, this may mean
     * constructing a new instance, optionally registering it in some other
     * name space such as the session or JNDI, and then returning it
     * or it may mean creating a new instance and returning it.
     * This method is called for each request to operate on the
     * given item by the system so it should be relatively efficient.
     * <p>
     * If your factory does not support the scope property, it
     * report an error if scope is supplied in the properties
     * for this instance.
     */
    public Object lookup(FactoryInstance inst)
    {
        SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
        return factoryInstance.lookup();
    } 


    static class SpringFactoryInstance extends FactoryInstance
    {
        SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties)
        {
            super(factory, id, properties);
        }


        public String toString()
        {
            return "SpringFactory instance for id=" + getId() + " source=" + getSource() + " scope=" + getScope();
        }

        public Object lookup() 
        {
            ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext());
            String beanName = getSource();

            try
            {
                return appContext.getBean(beanName);
            }
            catch (NoSuchBeanDefinitionException nexc)
            {
                ServiceException e = new ServiceException();
                String msg = "Spring service named '" + beanName + "' does not exist.";
                e.setMessage(msg);
                e.setRootCause(nexc);
                e.setDetails(msg);
                e.setCode("Server.Processing");
                throw e;
            }
            catch (BeansException bexc)
            {
                ServiceException e = new ServiceException();
                String msg = "Unable to create Spring service named '" + beanName + "' ";
                e.setMessage(msg);
                e.setRootCause(bexc);
                e.setDetails(msg);
                e.setCode("Server.Processing");
                throw e;
            } 
        }
        
    } 

} 



services-config.xml加上SpringFactory
<factories>
        <factory id="spring" class="cn.aronlulu.device.service.SpringFactory" />
</factories>

remoting-config.xml中回调类的写法
    <destination id="deviceService">      
      <properties>
      	  <factory>spring</factory>      
          <source>deviceService</source >   //调用类必须在spring中配置   
      </properties> 
    </destination>

这样flex回调java时会从springFactory中加载类的实例,实现了blazeds与spring简单整合
分享到:
评论

相关推荐

    在Web项目中集成Spring

    在Web项目中集成Spring是一个常见的开发实践,Spring框架以其强大的依赖注入、面向切面编程以及丰富的功能模块,极大地简化了Java Web应用的开发。本文将深入探讨如何在Web项目中集成Spring,包括Spring MVC的使用、...

    SpringMVC集成SpringSecurity

    2. **集成过程**:在SpringMVC项目中集成SpringSecurity,首先需要在pom.xml文件中引入相应的依赖,接着配置SpringSecurity的XML配置文件,定义安全规则、用户认证方式等。 3. **默认账户和密码**:“admin,admin...

    Spring cloud与Spring boot 集成完整案例

    案例分析可能会涵盖如何创建Spring Boot项目,添加依赖,配置Eureka服务器,实现服务的注册与发现,使用Zuul进行API路由,以及集成Spring Security保护服务接口。此外,还可能涉及到Hystrix的配置,用于在服务调用...

    Spring Cloud Alibaba 集成 Spring Security OAuth2.0 实现认证和授权

    分布式系统的认证和授权 分布式架构采用 Spring Cloud Alibaba 认证和授权采用 Spring Security OAuth2.0 实现方法级权限控制 网关采用 gateway 中间件 服务注册和发现采用 nacos

    Spring与Hibernate集成

    **Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...

    camel集成spring的各种案例

    camel集成spring的各种案例,如:jetty、file、activemq、ftp、http、log、并行、分支、发送邮件、接收邮件、seda队列、timer定时器、netty4、quartz2定时器、zookeeper操作,只是简单案例,方便学习, 适合入门和...

    spring-cloud 集成 flowable 工作流

    本教程将深入探讨如何在基于Spring Cloud的微服务架构中集成Flowable工作流引擎,提升系统的流程管理能力。 首先,Spring Cloud是构建分布式系统的一系列工具集,包括服务发现、配置管理、熔断机制等,它为微服务...

    spring cloud + shiro集成方案

    手把手教你集成spring cloud + shiro微服务框架;用最少的工作量,改造基于shiro安全框架的微服务项目,实现spring cloud + shiro 框架集成。博客地址:...

    jbpm4 集成 spring 的试用代码

    将jbpm4集成到Spring中,可以充分利用Spring的管理优势,提高流程服务的可测试性和可配置性。 在“jbpm4 集成 spring”的场景中,我们需要关注以下几个关键知识点: 1. **集成配置**:首先,我们需要在Spring的...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...

    Spring Cloud alibaba 集成 Spring Cloud Gateway

    7. **监控和管理**:集成 Spring Cloud Gateway 后,可以利用 Spring Cloud Alibaba 提供的监控工具,如 Spring Boot Admin 或 Sentinel 控制台,来查看 Gateway 的运行状态、请求统计、熔断情况等。 8. **测试与...

    spring集成socket服务

    1. **集成Socket服务**:在Spring中集成Socket服务,我们通常会使用`java.net.ServerSocket`类来创建服务器端的Socket,并通过`java.net.Socket`处理客户端连接。为了将Socket服务与Spring框架结合,我们可以创建一...

    Spring boot集成spring session实现session共享的方法

    Spring Boot 集成 Spring Session 实现 Session 共享的方法 Spring Boot 是目前流行的 Java 框架,它提供了许多便捷的功能和配置项,使得开发者可以快速构建项目。但是,在分布式环境中,Session 的共享变得非常...

    jms简单demo,集成spring和不集成

    在本示例中,"jms简单demo"涵盖了两个方面:与Spring框架的集成以及不集成Spring的情况。 首先,让我们深入了解JMS。JMS定义了消息生产者(Producer)、消息消费者(Consumer)和消息代理(Message Broker)之间的...

    springcloud集成flowable6.5.0适配达梦数据库的模块

    在本项目中,我们主要关注的是如何将Spring Cloud与Flowable 6.5.0集成,并使其能够适配达梦数据库。Flowable是一款强大的业务流程管理(BPM)和工作流引擎,它提供了完整的流程定义、执行、监控以及分析功能。而...

    struts2.2.3集成spring时需要添加的jar包

    struts2.2.3集成spring时需要添加的jar包,struts2-spring-plugin-2.2.3.jar

    struts2.1.8 集成 spring hibernate需要的 核心 jar

    这个版本的Struts2集成了Spring和Hibernate,使得开发者能够更方便地管理控制层(Controller)和持久层(Persistence Layer)。Spring是一个全面的后端应用框架,而Hibernate则是一个流行的ORM(对象关系映射)工具...

    基于java config的springSecurity 六 集成spring session

    参考资料: http://docs.spring.io/spring-session/docs/current-SNAPSHOT/reference/html5/guides/security.html http://blog.csdn.net/xiejx618/article/details/43059683

    struts+spring集成

    Struts+Spring集成的主要目的是利用两者的优点,使开发更高效、维护更方便。在集成过程中,通常会用Spring来管理Struts中的Action类,实现Action的依赖注入,从而提高代码的可测试性和解耦性。下面将详细讲解这个...

    【完整源码+数据库】 SpringBoot集成Spring Security实现角色继承

    在本文中,我们将深入探讨如何在SpringBoot项目中集成Spring Security来实现角色继承,并提供一个完整的源码示例。这将特别适用于初学者和开发者,帮助他们更好地理解Spring Security的安全特性。 让我们理解Spring...

Global site tag (gtag.js) - Google Analytics