<!-- Data source definition -->
<bean id="dataSourceWebsube"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url.websube}"
p:username="${jdbc.username.websube}" p:password="${jdbc.password.websube}" />
<bean id="jdbcTemplateWebsube" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSourceWebsube" />
</bean>
<!-- Transaction manager, actually this one is useless since the Transaction Manager Bean is already called transactionManager -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSourceWebsube" />
</bean>
public class Test
{
@Transactional
public static void testTranscational(JdbcTemplate jdbcTmpl)
{
String sql = null;
sql = "INSERT INTO NBSM.INT_RTLNOUTBOUND_PRODUCTS(BASEPRODUCTCODE)VALUES(1)";
jdbcTmpl.update(sql);
throw new RuntimeException();
}
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("application-context.xml");
JdbcTemplate jdbcTmpl = (JdbcTemplate) ctx.getBean("jdbcTemplateWebsube");
testTranscational(jdbcTmpl);
}
}
你好,
我正在尝试测试 spring 的事务管理功能,但我无法让它工作。我一直试图解决它几个小时,但没有运气。
上面你可以看到相关的 config xml 定义和 dao 测试类。即使我使用调试级别进行日志记录,也没有回滚机制的足迹。
任何帮助将不胜感激