hibernate的雙數據源的配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
        ">

    <!-- Hibernate4 -->
    <!-- 加載資源文件 其中包含變量信息,必須在Spring配置文件的最前面加載,即第一個加載 -->
    <context:property-placeholder location="classpath:jdbc.properties"
        ignore-unresolvable="true" />
    <context:property-placeholder location="classpath:orm.properties"
        ignore-unresolvable="true" />




    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan">
            <list>
                <!-- 可以加多個包 -->
                <value>com.farm</value>
                <value>com.wcp</value>
                <value>com.manor</value>
                <value>org.sdkj</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <!-- <prop key="hibernate.current_session_context_class">thread</prop> -->
            </props>
        </property>
    </bean>
    <!-- 1.用戶數據源 -->
    <bean id="sessionFactoryUser"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSourceUser" />
        <property name="packagesToScan">
            <list>
                <!-- 可以加多個包 -->
                <value>com.farm</value>
                <value>com.wcp</value>
                <value>com.manor</value>
                <value>org.sdkj</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <!-- <prop key="hibernate.current_session_context_class">thread</prop> -->
            </props>
        </property>
    </bean>



    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClassName}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="maxIdleTime" value="1800" /> 
    </bean>
    <!-- 2.用戶數據源 -->
    <bean id="dataSourceUser" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${user.jdbc.driverClassName}" />
        <property name="jdbcUrl" value="${user.jdbc.url}" />
        <property name="user" value="${user.jdbc.username}" />
        <property name="password" value="${user.jdbc.password}" />
        <property name="maxIdleTime" value="1800" /> 
    </bean>

    <!-- 配置Hibernate事務管理器 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <!-- 3.用戶數據源 -->
    <bean id="transactionManagerUser"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactoryUser" />
    </bean>

    <!-- 配置事務異常封裝 -->
    <bean id="persistenceExceptionTranslationPostProcessor"
        class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
    <!-- 啓動任務 -->
    <import resource="classpath:config/initTask.xml"></import>

</beans>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章