我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)