I want to manage transaction by using AspectJ LTW with Spring boot and @Transactional, and read 16.5.9 Using @Transactional with AspectJ, and I try to use two different way to inject AnnotationTransactionAspect , my configurations is as flow:
// Configuration 1
@Configuration
@EnableTransactionManagement( mode = AdviceMode.ASPECTJ) // using AdviceMode.ASPECTJ
@EnableLoadTimeWeaving(aspectjWeaving = EnableLoadTimeWeaving.AspectJWeaving.ENABLED) // using LTW
@EnableAspectJAutoProxy
public class AppConfig extends WebMvcConfigurationSupport {
private JpaTransactionManager jpaTransactionManager = null;
@Autowired
public AppConfig(LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean) {
this.jpaTransactionManager = new JpaTransactionManager(localContainerEntityManagerFactoryBean.getObject());
}
@Bean(name = "transactionManager")
public JpaTransactionManager jpaTransactionManager() {
return jpaTransactionManager;
}
@Bean
public AnnotationTransactionAspect annotationTransactionAspect() {
AnnotationTransactionAspect annotationTransactionAspect = AnnotationTransactionAspect.aspectOf();
annotationTransactionAspect.setTransactionManager(jpaTransactionManager());
return annotationTransactionAspect;
}
}
// Configuration 2
@Configuration
@EnableTransactionManagement( mode = AdviceMode.ASPECTJ)
@EnableLoadTimeWeaving(aspectjWeaving = EnableLoadTimeWeaving.AspectJWeaving.ENABLED)
@EnableAspectJAutoProxy
public class AppConfig extends WebMvcConfigurationSupport {
private PlatformTransactionManager platformTransactionManager;
@Autowired
public AppConfig(PlatformTransactionManager platformTransactionManager) {
this.platformTransactionManager = platformTransactionManager;
}
@Bean
public AnnotationTransactionAspect annotationTransactionAspect() {
AnnotationTransactionAspect annotationTransactionAspect = AnnotationTransactionAspect.aspectOf();
annotationTransactionAspect.setTransactionManager(platformTransactionManager);
return annotationTransactionAspect;
}
}
but @Transactional on the class and method are not working with the two configurations , can you give me some advice?