首页 新闻 会员 周边

spring 如何动态修改bean 并实现数据源的改变

0
悬赏园豆:80 [待解决问题]

主从两个数据库,主数据库一直不变,从数据库动态变换,且备选的从数据库的个数和类型(sqlserver或oracle)都不固定,需动态地改变连接池和sessionFactory中配置信息。请问各位大神此需求该如何实现?

applicationContext.xml如下:

<!-- 事务配置 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"
        proxy-target-class="true" />

    <!-- C3P0连接池 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        </bean>

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" /> 
        <property name="hibernateProperties"> 
            <props> 
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> 
                <prop key="hibernate.current_session_context_class">thread</prop> 
                <prop key="hibernate.show_sql">true</prop> 
                <prop key="hibernate.format_sql">true</prop> 
                <prop key="hibernate.hbm2ddl.auto">update</prop> 
            </props> 
        </property>
        <property name="packagesToScan">
            <list>
                <value>com.tb.hs.yf.*</value>
            </list> 
        </property> 
    </bean>
厚沉无心的主页 厚沉无心 | 初学一级 | 园豆:122
提问于:2016-01-21 11:22
< >
分享
所有回答(1)
0

不知如何解决, 楼下上。

斯拉克 | 园豆:223 (菜鸟二级) | 2016-01-21 15:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册