From a3222476adb94add5408d48d0fa99cef3b40a172 Mon Sep 17 00:00:00 2001 From: Sebastien Deleuze Date: Sat, 13 Jul 2019 11:30:38 +0200 Subject: [PATCH] Use proxyBeanMethods in ProxyTransactionManagementConfiguration Closes gh-23166 --- ...roxyTransactionManagementConfiguration.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/spring-tx/src/main/java/org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.java b/spring-tx/src/main/java/org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.java index eb8627b31c..ddcdb15ace 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.java +++ b/spring-tx/src/main/java/org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,19 +30,22 @@ import org.springframework.transaction.interceptor.TransactionInterceptor; * necessary to enable proxy-based annotation-driven transaction management. * * @author Chris Beams + * @author Sebastien Deleuze * @since 3.1 * @see EnableTransactionManagement * @see TransactionManagementConfigurationSelector */ -@Configuration +@Configuration(proxyBeanMethods = false) public class ProxyTransactionManagementConfiguration extends AbstractTransactionManagementConfiguration { @Bean(name = TransactionManagementConfigUtils.TRANSACTION_ADVISOR_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public BeanFactoryTransactionAttributeSourceAdvisor transactionAdvisor() { + public BeanFactoryTransactionAttributeSourceAdvisor transactionAdvisor( + TransactionAttributeSource transactionAttributeSource, + TransactionInterceptor transactionInterceptor) { BeanFactoryTransactionAttributeSourceAdvisor advisor = new BeanFactoryTransactionAttributeSourceAdvisor(); - advisor.setTransactionAttributeSource(transactionAttributeSource()); - advisor.setAdvice(transactionInterceptor()); + advisor.setTransactionAttributeSource(transactionAttributeSource); + advisor.setAdvice(transactionInterceptor); if (this.enableTx != null) { advisor.setOrder(this.enableTx.getNumber("order")); } @@ -57,9 +60,10 @@ public class ProxyTransactionManagementConfiguration extends AbstractTransaction @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public TransactionInterceptor transactionInterceptor() { + public TransactionInterceptor transactionInterceptor( + TransactionAttributeSource transactionAttributeSource) { TransactionInterceptor interceptor = new TransactionInterceptor(); - interceptor.setTransactionAttributeSource(transactionAttributeSource()); + interceptor.setTransactionAttributeSource(transactionAttributeSource); if (this.txManager != null) { interceptor.setTransactionManager(this.txManager); }