Use proxyBeanMethods in ProxyTransactionManagementConfiguration
Closes gh-23166
This commit is contained in:
@@ -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.<Integer>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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user