`

SSH 配置多个数据源-样例2

阅读更多

 

SSH  配置多个数据源-样例2

来自:http://javadev.iteye.com/blog/200836

一、首先配置hibernate数据源:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
  3. <beans>  
  4.   <!--1、Oracle 数据源配置-->  
  5.   <bean id="oraclesessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  6.     <property name="configLocation">  
  7.       <value>WEB-INF/classes/oracle-h.cfg.xml</value>  
  8.     </property>  
  9.   </bean>  
  10.   <bean id="oracletransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  11.     <property name="sessionFactory">  
  12.       <ref local="sessionFactory" />  
  13.     </property>  
  14.   </bean>  
  15. <!--2、SQLServer 数据源配置-->  
  16.   <bean id="sqlServersessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  17.     <property name="configLocation">  
  18.       <value>WEB-INF/classes/sqlserver-h.cfg.xml</value>  
  19.     </property>  
  20.   </bean>  
  21.   <bean id="sqlServerTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  22.     <property name="sessionFactory">  
  23.       <ref local="sqlServersessionFactory" />  
  24.     </property>  
  25.   </bean>  
  26. <!--3、其他数据源配置-->  
  27. .................  
  28.  2、配置spring的事务拦截器(AOP):
    1. <!--1、oracle数据源 事务管理拦截器-->  
    2.     <tx:advice id="oracleTxAdvice" transaction-manager="oracletransactionManager">  
    3.     <tx:attributes>  
    4.         <tx:method name="find*" read-only="true"/>  
    5.         <tx:method name="get*" read-only="true"/>     <tx:method name="notx*" propagation="NEVER"/>  
    6.         <tx:method name="*" rollback-for="自定义Exception"/>  
    7.     </tx:attributes>  
    8.     </tx:advice>  
    9. <!--2、sqlserver数据源 事务管理拦截器-->  
    10.     <tx:advice id="sqlserverTxAdvice" transaction-manager="sqlservertransactionManager">  
    11.     <tx:attributes>  
    12.         <tx:method name="find*" read-only="true"/>  
    13.         <tx:method name="get*" read-only="true"/>     <tx:method name="notx*" propagation="NEVER"/>  
    14.         <tx:method name="*" rollback-for="自定义Exception"/>  
    15.     </tx:attributes>  
    16.     </tx:advice>  
    17. <!--3、其他数据源 事务管理拦截器-->  
    18. .................   
    19. <!--配置多数据源的事务拦截器-->  
    20.     <bean id="serviceAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
    21.         <property name="beanNames">  
    22.             <list>  
    23.                 <value>*Service</value>  
    24.             </list>  
    25.         </property>  
    26.         <property name="interceptorNames">  
    27.             <list>  
    28.                 <value>oracleTxAdvice</value>  
    29.                 <value>sqlServerTxAdvice</value>  
    30.                 <value>XXXXXTxAdvice</value>  
    31.             </list>  
    32.         </property>  
    33.     </bean>  
分享到:
评论
1 楼 xiaowei003 2010-09-04  
楼主你好,按照你的配置后,那怎么把这两个数据源放到一个事务中来管理呢??

相关推荐

    ssh+cxf整合及单个cxf测试样例

    这篇内容将深入探讨SSH+CXF的整合过程,以及如何进行单个CXF测试样例。 首先,Spring作为整个应用的依赖注入容器,负责管理所有的Bean。在整合CXF时,Spring可以配置CXF服务的生命周期,包括服务的创建、发布和销毁...

    Struts2.5+Spring5+Hibernage5框架样例以及lib包.rar

    在压缩包中,你会看到Spring的配置文件如spring-context.xml,展示了如何定义bean,配置数据源,以及如何与Struts2进行集成。 3. **Hibernate5**: Hibernate是一个对象关系映射(ORM)框架,它允许开发者用Java...

    Struts+Spring+Hibernate框架样例+数据库(含增、删、改、查)

    5. **集成与配置**:SSH的集成涉及到多个配置文件的协调,例如Struts的Action配置、Spring的Bean管理、Hibernate的数据源和SessionFactory设置。开发者需要确保这些配置的一致性,使得请求能正确地从Struts传递到...

    hibernate3.3+spring2+struts2的整合源代码

    Spring框架是一个全面的后端开发解决方案,涵盖了依赖注入、面向切面编程、数据访问、事务管理等多个方面。Spring 2在这个基础上进一步强化了AOP(面向切面编程)和Web MVC功能,同时也增强了对其他框架如Hibernate...

    quartz 样例代码

    6. **applicationContext.xml**:Spring 框架的配置文件,可以定义 Bean、数据源、事务管理器等。在整合 Quartz 时,Spring 可以用来管理 Job 和 Trigger 对象,以及 Quartz Scheduler 实例。 7. **struts.xml**:...

    EasyHadoop部署实战手册

    - **Hadoop试验集群的部署结构**:该结构通常包含一个或多个Master节点和多个Slave节点。Master节点负责管理整个集群,包括数据的存储和任务的分配;Slave节点则负责执行具体的计算任务。 - **系统和组件的依赖关系*...

    Ansible-Ansible-roles.zip

    Inventory 是 Ansible 中用于定义目标主机列表的文件,可以是静态的文本文件,也可以是动态的,从其他数据源(如数据库或 EC2 API)获取。它可以指定主机的分组,以及附加的变量,这些变量可以在 playbook 中引用。 ...

    一个开源的Java基础工具包

    数据库工具类,提供了关闭方法:关闭可以传入多个参数,关闭的顺序是按照参数的顺序来的,用于一次性关闭Connnection、Statement、ResultSet等 newSqlRunner方法用于快速新建一个SqlRunner(此类介绍参考下问) 3、...

    版本控制-Git的安装与配置

    版本库中应该存储项目开发所需的所有内容,包括但不限于项目源代码、构建文件(如Makefile、Rakefile、build.xml)、配置文件样例、各类文档、程序使用的图片、单元测试脚本等。如果项目中缺少了某些文件,而影响了...

Global site tag (gtag.js) - Google Analytics