`

Flex和spring集成时需要的SpringFactory

阅读更多
  1. package springFactory;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.web.context.support.WebApplicationContextUtils;
  4. import org.springframework.beans.BeansException;
  5. import org.springframework.beans.factory.NoSuchBeanDefinitionException;
  6. import flex.messaging.FactoryInstance;
  7. import flex.messaging.FlexFactory;
  8. import flex.messaging.config.ConfigMap;
  9. import flex.messaging.services.ServiceException;
  10. public class SpringFactory implements FlexFactory
  11. {
  12. private static final String SOURCE = "source";
  13. public void initialize(String id, ConfigMap configMap) {}
  14. public FactoryInstance createFactoryInstance(String id, ConfigMap properties)
  15. {
  16. SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
  17. instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
  18. return instance;
  19. } // end method createFactoryInstance()
  20. public Object lookup(FactoryInstance inst)
  21. {
  22. SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
  23. return factoryInstance.lookup();
  24. }
  25. static class SpringFactoryInstance extends FactoryInstance
  26. {
  27. SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties)
  28. {
  29. super(factory, id, properties);
  30. }
  31. public String toString()
  32. {
  33. return "SpringFactory instance for id=" + getId() + " source=" + getSource() + " scope=" + getScope();
  34. }
  35. public Object lookup()
  36. {
  37. ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext());
  38. String beanName = getSource();
  39. try
  40. {
  41. return appContext.getBean(beanName);
  42. }
  43. catch (NoSuchBeanDefinitionException nexc)
  44. {
  45. ServiceException e = new ServiceException();
  46. String msg = "Spring service named '" + beanName + "' does not exist.";
  47. e.setMessage(msg);
  48. e.setRootCause(nexc);
  49. e.setDetails(msg);
  50. e.setCode("Server.Processing");
  51. throw e;
  52. }
  53. catch (BeansException bexc)
  54. {
  55. ServiceException e = new ServiceException();
  56. String msg = "Unable to create Spring service named '" + beanName + "' ";
  57. e.setMessage(msg);
  58. e.setRootCause(bexc);
  59. e.setDetails(msg);
  60. e.setCode("Server.Processing");
  61. throw e;
  62. }
  63. }
  64. }
  65. }
分享到:
评论
1 楼 qq12241713 2013-03-08  
[b]    :arrow: [i][/i][/b]

相关推荐

    FLEX和spring、hibernate的集成

    在FLEX与Spring的集成中,我们需要一个桥梁来连接Flex客户端和Spring服务端。这通常通过创建一个自定义的`FlexFactory`实现,例如`SpringFactory`,它继承自`flex.messaging.FlexFactory`。`SpringFactory`的职责是...

    flex和spring和hibernate.doc

    然后,为了使Flex与Spring进行通信,我们需要创建一个工厂类,例如`SpringFactory`,实现Flex的`FactoryInstance`和`FlexFactory`接口。这个工厂类用于为Flex消息框架提供实例。在`services-config.xml`中配置此工厂...

    Flex与Spring整合详解

    当我们需要在Flex前端和Spring后端之间建立通信时,就需要进行Flex与Spring的整合。这种整合使得Flex客户端能够调用Spring服务端的业务逻辑,实现数据的交互和处理。 **1. SpringFactory方式** SpringFactory方式...

    flex整合Spring

    为了使Flex能够访问到Spring容器中的Bean,需要自定义一个`SpringFactory`类,该类继承自`FlexFactory`。在该类中实现`createFactoryInstance`方法来创建具体的Bean实例。 ```java package com.flex.factories; ...

    flex整合spring,hibernate

    【Flex整合Spring与Hibernate】是将富客户端技术Flex与企业级框架Spring和持久层框架Hibernate进行集成,以实现更高效、灵活的Web应用程序开发。在这样的集成中,Flex作为前端展示层,Spring作为业务逻辑层,而...

    整合flex-spring-mybatis

    通过上述步骤,我们可以成功地将Flex、Spring和MyBatis三个框架进行整合,构建出一个高效且可扩展的应用程序。这种集成方式不仅能够充分利用每个框架的优势,还能提高整个系统的性能和稳定性。在未来的发展中,这种...

    Maven构建全栈式Flex、BlazeDS和Spring集成解决方案–第三部分_整合全部应用

    ### Maven构建全栈式Flex、BlazeDS和Spring集成解决方案——第三部分:整合全部应用 #### 知识点概述 本篇文章将详细介绍如何利用Maven工具链构建一个完整的Flex、BlazeDS和Spring集成解决方案。文章分为三个部分...

    FLex整合hibernate spring

    7. **配置Flex与Spring的连接**:在Flex的services-config.xml和remoting-config.xml中设置SpringFactory,确保Flex可以通过AMF与Spring服务进行通信。 8. **处理Flex与Spring的兼容性问题**:解决可能遇到的类版本...

    Flex3 + Spring配置

    标题中的“Flex3 + Spring配置”指的是在Adobe Flex 3这个富互联网应用程序(RIA)开发框架中集成Spring框架进行后端服务支持的技术实践。Flex3是Adobe Flex的第三个主要版本,它提供了一套用于创建交互式、数据驱动...

    flex3.0+spring2.5+hibernate3.2

    标题 "flex3.0+spring2.5+hibernate3.2" 指的是一种集成技术,它将Adobe Flex 3.0(一种用于构建富互联网应用程序的框架)与Spring 2.5(一个Java企业级应用的IOC和AOP容器)和Hibernate 3.2(一个流行的关系型...

    构建整合Hibernate,Spring和BlazeDS的Flex开发环境(

    为了使BlazeDS能够识别和调用Spring管理的bean,需要在`flex/services-config.xml`中配置Spring工厂: ```xml <factory id="spring" class="flex.samples.factories.SpringFactory"/> ``` 并且在`remoting-...

    flex4.5+java+spring+blazeds通信

    4. **Service-Config配置**:编写`service-config.xml`文件,指定`id="spring"`和`class`属性为`SpringFactory`所在的类路径。 5. **Bean配置**:定义一个Java类并将其纳入Spring的管理范围,即在`...

    Flex 和 java 整合 教程

    4. **Spring**:SpringFactory类和反射机制,用于管理和实例化后端服务。 5. **业务层**:基于Spring框架,使用Hibernate处理数据库操作,实现业务逻辑。 6. **Flex Application, Module, Component**:Flex前端应用...

    flex与ssh项目集合[参照].pdf

    为了使Flex能够调用Spring中的bean,我们需要创建一个自定义的`SpringFactory`,它是Flex消息传递框架的一部分。`SpringFactory`实现了`FlexFactory`接口,负责实例化和查找Spring中的bean。下面是一个简化的`...

    blazeds与java(spring)通信配置说明

    - **新建 Spring Bean**:在 Java 侧,我们需要创建 Spring Bean,如 Dao、Service 和 Action 类,以实现业务逻辑。 - **配置 Spring**:更新 Spring 配置文件,声明 Bean 并关联它们。可以创建一个 `...

    搭建Flex的J2EE环境

    - 如果你的项目中包含Spring和Hibernate,需要导入相关库,并在`services-config.xml`中注册Spring工厂,例如`<factory id="spring" class="cn.com.overstep.factories.SpringFactory"/>`。 - 更新`web.xml`文件,...

    flex4.5+SSH项目搭建

    7. **整合过程**:集成Flex和SSH涉及到几个关键步骤,包括设置Flex Builder或MyEclipse的Blazeds配置,编写ActionScript代码与后端服务交互,配置Struts2的Action和Result,以及在Spring中定义Bean和数据源。...

Global site tag (gtag.js) - Google Analytics