相关疑难解决方法(0)

Spring中具有多个事务管理器的多个DataSource

DataSource在Junit应用程序上下文文件中定义了三个(JDBC).其中两个需要进行交易管理; 使用这两个数据源时,我不必链接任何方法(它们完全相互独立).

当我使用单个事务管理器时,我没有遇到任何问题dataSource2,即使dataSource3正在使用但未在相应的方法中进行管理.尽管如此,在需要同时管理来自各种DAO类的方法时dataSource3,我添加了第二个事务 - txManager2.上下文文件包含以下内容:

<context:component-scan base-package="my.pkg" />

<bean id="dataSource1"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@host1:1521:dbsid1" />
<property name="username" value="username1" />
<property name="password" value="password1" />
</bean>

<bean id="dataSource2"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@host2:1521:dbsid2" />
<property name="username" value="username2" />
<property name="password" value="password2" />
</bean>

<bean id="dataSource3"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@host3:1521:dbsid3" />
<property name="username" value="username3" />
<property name="password" value="password3" />
</bean>

<tx:annotation-driven/>

<bean id="txManager1" …
Run Code Online (Sandbox Code Playgroud)

java spring datasource transactions

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

datasource ×1

java ×1

spring ×1

transactions ×1