Spring @Transactional条件传播属性

时间:2016-09-10 18:32:52

标签: java spring transactions transactional propagation

由于多次转换的嵌入式Derby兼容性问题,我需要根据应用程序启动的配置文件更改@Transactional的属性传播。

实施例: 当应用程序以用于运行自动测试的配置文件启动时,@ Transaction将配置为默认传播(Propagation.REQUIRED)。加载其他配置文件时,传播应设置为Propagation.REQUIRES_NEW。

我如何在Java Config中实现这一目标?在xml配置中,我过去已经通过aop执行了此操作:pointcut / aop:advisor和tx:advice,但我无法在Java Config中找到相应的方法。

1 个答案:

答案 0 :(得分:0)

我发现了一个可能(丑陋)的解决方案。使用@ImportResource注释,我可以将xml文件导入我的根java配置文件,并在该文件中通过AOP执行我想要的配置。

@Configuration
@ImportResource("classpath:/spring-dataaccess-aop-config.xml")
@Import(...)
public class RootConfig {}