当前位置:首页 > 开发 > 编程语言 > Spring > 正文

Spring配置多个连接池

发表于: 2015-07-10   作者:easterfly   来源:转载   浏览:
摘要: 项目中需要同时连接多个数据库的时候,如何才能在需要用到哪个数据库就连接哪个数据库呢? Spring中有关于dataSource的配置:     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"   &nb
项目中需要同时连接多个数据库的时候,如何才能在需要用到哪个数据库就连接哪个数据库呢?
Spring中有关于dataSource的配置:
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClass}" />
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}" />
        <property name="user" value="${jdbc.user}" />
        <property name="password" value="${jdbc.password}" />
        <property name="minPoolSize" value="${c3p0.minPoolSize}" />
        <property name="maxPoolSize" value="${c3p0.maxPoolSize}" />
        <property name="maxIdleTime" value="${c3p0.maxIdleTime}" />
        <property name="acquireIncrement" value="${c3p0.acquireIncrement}" />
        <property name="initialPoolSize" value="${c3p0.initialPoolSize}" />
        <property name="idleConnectionTestPeriod" value="${c3p0.idleConnectionTestPeriod}" />
        <property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}" />
    </bean>
一个dataSource对应一个连接池,也就是对应一个数据库,新增一个数据库就需要新增一个dataSource:
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClass}" />
        <property name="jdbcUrl" value="${jdbc.jdbcUrl_ddns}" />
        <property name="user" value="${jdbc.user}" />
        <property name="password" value="${jdbc.password}" />
        <property name="minPoolSize" value="${c3p0.minPoolSize}" />
        <property name="maxPoolSize" value="${c3p0.maxPoolSize}" />
        <property name="maxIdleTime" value="${c3p0.maxIdleTime}" />
        <property name="acquireIncrement" value="${c3p0.acquireIncrement}" />
        <property name="initialPoolSize" value="${c3p0.initialPoolSize}" />
        <property name="idleConnectionTestPeriod" value="${c3p0.idleConnectionTestPeriod}" />
        <property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}" />
    </bean>
当然,对应的sessionFactory也要新增一个配置:
    <bean id="sessionFactory_ddns" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource_ddns" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
                <prop key="hibernate.autoReconnection">
                    ${hibernate.autoReconnection}
                </prop>
                <prop key="hibernate.jdbc.batch_size">
                    ${hibernate.jdbc.batch_size}
                </prop>
            </props>
        </property>
        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:com/tplink/cloud/WebManager/ddns
                </value>
            </list>
        </property>
    </bean>
其中指定com/tplink/cloud/WebManager/ddns,只有这个包需要连到新增的数据库,引用到sessionFactory的类都要新建一个,如commonDao, result等,当然,这里只需要改个名字,并不需要真正的重新写一个类,这样就完成了多连接池的配置。[align=left][/align]

Spring配置多个连接池

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在使用 Tomcat服务器 + SpringFramework 进行JavaEE项目的开发部署的时候可以在Tomcat的配置文件中
1.文件结构 2.包结构 3.spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns
个人学习参考所用,勿喷! 在使用 Tomcat服务器 + SpringFramework 进行JavaEE项目的开发部署的时候
个人学习参考所用,勿喷! 在使用 Tomcat服务器 + SpringFramework 进行JavaEE项目的开发部署的时候
个人学习参考所用,勿喷! 在使用 Tomcat服务器 + SpringFramework 进行JavaEE项目的开发部署的时候
个人学习参考所用,勿喷! 在使用 Tomcat服务器 + SpringFramework 进行JavaEE项目的开发部署的时候
Spring的JNDI数据源连接池配置示例及Spring对JNDI实现分析 个人学习参考所用,勿喷! 在使用 Tomcat
applicationContext.xml <import resource="applicationContext-quartz.xml" /> applicationC
问题:有开源框架mysql的 ,还有旧系统 sqlserver2000的,解决这些问题总有些成长。 解决sqlserver
本例子中使用的spring3,atomikos的下载地址:Atomikos,一个免费版和收费版的,注意区分。 我下载
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号