Skip to content

Commit a322247

Browse files
committed
Use proxyBeanMethods in ProxyTransactionManagementConfiguration
Closes gh-23166
1 parent 2eba010 commit a322247

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

spring-tx/src/main/java/org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2017 the original author or authors.
2+
* Copyright 2002-2019 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -30,19 +30,22 @@
3030
* necessary to enable proxy-based annotation-driven transaction management.
3131
*
3232
* @author Chris Beams
33+
* @author Sebastien Deleuze
3334
* @since 3.1
3435
* @see EnableTransactionManagement
3536
* @see TransactionManagementConfigurationSelector
3637
*/
37-
@Configuration
38+
@Configuration(proxyBeanMethods = false)
3839
public class ProxyTransactionManagementConfiguration extends AbstractTransactionManagementConfiguration {
3940

4041
@Bean(name = TransactionManagementConfigUtils.TRANSACTION_ADVISOR_BEAN_NAME)
4142
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
42-
public BeanFactoryTransactionAttributeSourceAdvisor transactionAdvisor() {
43+
public BeanFactoryTransactionAttributeSourceAdvisor transactionAdvisor(
44+
TransactionAttributeSource transactionAttributeSource,
45+
TransactionInterceptor transactionInterceptor) {
4346
BeanFactoryTransactionAttributeSourceAdvisor advisor = new BeanFactoryTransactionAttributeSourceAdvisor();
44-
advisor.setTransactionAttributeSource(transactionAttributeSource());
45-
advisor.setAdvice(transactionInterceptor());
47+
advisor.setTransactionAttributeSource(transactionAttributeSource);
48+
advisor.setAdvice(transactionInterceptor);
4649
if (this.enableTx != null) {
4750
advisor.setOrder(this.enableTx.<Integer>getNumber("order"));
4851
}
@@ -57,9 +60,10 @@ public TransactionAttributeSource transactionAttributeSource() {
5760

5861
@Bean
5962
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
60-
public TransactionInterceptor transactionInterceptor() {
63+
public TransactionInterceptor transactionInterceptor(
64+
TransactionAttributeSource transactionAttributeSource) {
6165
TransactionInterceptor interceptor = new TransactionInterceptor();
62-
interceptor.setTransactionAttributeSource(transactionAttributeSource());
66+
interceptor.setTransactionAttributeSource(transactionAttributeSource);
6367
if (this.txManager != null) {
6468
interceptor.setTransactionManager(this.txManager);
6569
}

0 commit comments

Comments
 (0)