前言:
做一个移动应用的后台服务器,涉及到多数据库,以及数据库集群配置:数据源用spring管理,中间封装了自己的jdbc
看配置文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="pm" class="*****.hibernate.HibernatePersistenceManager"> <property name="sessionFactory"> <ref bean="sessionFactorydx" /> </property> </bean> <bean id="dbTool" class="***.util.DBTool"> <property name="dataSource"> <ref bean="dataSourcedx" /> </property> </bean> <bean id="jdbcPM" class="*****.jdbc.JDBCPersistenceManager"> <property name="dbTool"> <ref bean="dbTool" /> </property> </bean> > </property> </bean> <bean id="dbToolbao" class="***.util.DBTool"> <property name="dataSource"> <ref bean="dataSourceBaob" /> </property> </bean> <bean id="jdbcCore" class="****.jdbc.JDBCPersistenceManager"> <property name="dbTool"> <ref bean="dbToolbao" /> </property> </bean> <bean id="dataSourceBaob" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@(description = (failover = on) (address_list = (address = (protocol = tcp)(host = ***)(port = ***)) (address = (protocol = tcp)(host = ***)(port = ***))) (CONNECT_DATA = (SERVICE_NAME =****) (SERVER = DEDICATED) (FAILOVER_MODE = (TYPE = select) (METHOD = basic)))) " /> <property name="" value="" /> <property name="" value="" /> </bean> <bean id="dataSourcedx" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=P****)(PORT=**))(CONNECT_DATA=(SERVER=dedicated)(SID=***)))" /> <property name="username" value="**v" /> <property name="password" value="****" /> </bean> </beans>
上面的配置文件,关键信息已经屏蔽,大致配置过程有,里面配了两个数据源,一个普通的数据源,另外一个集群数据库数据源配置。如果大家在陪集群数据源时出错,很可能是引入的class12.jar包不全,建议重新换jar包,因为这个原因在本地测试时发现拿conn时 不稳定,时有时无。开始我们还以为是网络问题,后来发现是class12.jar包中某些文件缺失,正规的class12.jar包大概1.2M,如果少了肯定就是不对的。
说明:1.自己封装的JDBCPersistenceManager ,这个类里有dbtool这个属性,这个属性为DBTool类型
2.datasource其实是封装在DBTool类里.
我们用的是JDBCPersistenceManager 这个类拿数据库连接.
2.如果大家部署到服务器上,比如在weblogic上配置,则改成如下形式即可:
<bean id="dataSourceBaob" class="org.springframework.jndi.JndiObjectFactoryBean" > <property name="jndiName"> <value>dataSourceBaob</value> </property> </bean> <bean id="dataSourcedx" class="org.springframework.jndi.JndiObjectFactoryBean" > <property name="jndiName"> <value>dataSourcedx</value> </property> </bean>
数据源配置一样,只不过把数据源交给jndi管理了
写的比较乱,大家见谅,因为在上班。。嘎嘎
相关推荐
spring 配置多数据源
spring数据源配置
一个springboot的多数据配置,从mapper到controller完整的一个业务流程
Spring Boot+Jpa多数据源配置Demo,可同时支持多种数据库,不同数据库,同时支持不同数据库的JdbcTemplate
Spring下mybatis多数据源配置
Spring Boot使用spring-data-jpa配置Mysql多数据源,可用版本
spring配置JNDI数据源
通过简单的demo实现SpingBoot多数据源配置并动态切换多数据源
主要介绍了Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程,需要的朋友可以参考下
Spring多数据源配置,支持mysql、oracle等多个数据源同时存在的情况
连接MYSQL数据库,SPRING配置文件示例。
spring 动态多数据源配置代码,本项目是maven项目,里面有完成的配资好的spring多数据源代码和配置文件。
基于注解的Spring多数据源配置和使用 前一段时间研究了一下spring多数据源的配置和使用,为了后期从多个数据源拉取数据定时进行数据分析和报表统计做准备。由于之前做过的项目都是单数据源的,没有遇到这种场景,...
SSM(Spring+SpringMVC+MyBatis)多数据源配置框架,精简版
spring boot配置主动数据源,数据库使用mysql+oracle+mybatis
用SPRING管理数据源,数据库为oracle
Springcloud 多数库 多数据源整合,查询动态切换数据库
1. 基于Aspectj实现动态数据源...6. 实现事务内切换数据源(支持原生Spring声明式事务哟,仅此一家),并支持多数据源事务回滚(有了它除了跨服务的事务你需要考虑分布式事务,其他都不需要,极大的减少了系统的复杂程度)
spring mvc配置datasource数据源的三种方式,对spring的数据库连接源配置,有很大帮助,使你更加准确地了解数据源、连接池的实际使用方法
springboot多数据源配置