【发布时间】:2016-05-01 20:44:20
【问题描述】:
我已将 pom 从 spring-boot-starter-parent 1.2.5.RELEASE 更新为 1.3.2.RELEASE。
问题是一切都保持不变,但所有测试 @Rollback(true) 在迁移后根本不起作用。
@Transactional
@Rollback(true)
@Test
public void testRollBack() {
dao.saveToDb();
throw new RunTimeException();
}
配置:
@Bean
@Primary
public PlatformTransactionManager txManager() {
return new DataSourceTransactionManager(dataSource());
}
它在相同的配置和代码中完美运行,唯一的变化是 spring boot 版本。我也看不到在日志中创建的事务是假设的
有人知道吗?也许是一种调试和了解问题所在的方法?
谢谢
【问题讨论】:
-
发布了代码.. 很奇怪,我在 spring 的迁移/发布文档上找不到任何东西
-
我刚刚验证了 Spring TestContext Framework 从不支持
@Primary用于事务管理器。因此,您是否绝对肯定您只是将 Spring Boot 的版本从 1.2.5 更改为 1.3.2? -
如果在 Spring Boot 1.2.5 和 1.3.2 的测试方法中添加
assertTrue("in transaction?", TransactionSynchronizationManager.isActualTransactionActive());会发生什么? -
我是日志。我可以稍后尝试或将其作为附件发送到 Jira。日志处于调试级别
标签: spring spring-boot spring-transactions spring-test