diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionInterceptor.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionInterceptor.java index c0e0649d8e..0f4031b042 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionInterceptor.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -29,6 +29,7 @@ import org.springframework.aop.support.AopUtils; import org.springframework.beans.factory.BeanFactory; import org.springframework.lang.Nullable; import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionManager; /** * AOP Alliance MethodInterceptor for declarative transaction @@ -65,13 +66,14 @@ public class TransactionInterceptor extends TransactionAspectSupport implements /** * Create a new TransactionInterceptor. * @param ptm the default transaction manager to perform the actual transaction management - * @param attributes the transaction attributes in properties format + * @param tas the attribute source to be used to find transaction attributes + * @since 5.2.5 * @see #setTransactionManager - * @see #setTransactionAttributes(java.util.Properties) + * @see #setTransactionAttributeSource */ - public TransactionInterceptor(PlatformTransactionManager ptm, Properties attributes) { + public TransactionInterceptor(TransactionManager ptm, TransactionAttributeSource tas) { setTransactionManager(ptm); - setTransactionAttributes(attributes); + setTransactionAttributeSource(tas); } /** @@ -79,13 +81,30 @@ public class TransactionInterceptor extends TransactionAspectSupport implements * @param ptm the default transaction manager to perform the actual transaction management * @param tas the attribute source to be used to find transaction attributes * @see #setTransactionManager - * @see #setTransactionAttributeSource(TransactionAttributeSource) + * @see #setTransactionAttributeSource + * @deprecated as of 5.2.5, in favor of + * {@link #TransactionInterceptor(TransactionManager, TransactionAttributeSource)} */ + @Deprecated public TransactionInterceptor(PlatformTransactionManager ptm, TransactionAttributeSource tas) { setTransactionManager(ptm); setTransactionAttributeSource(tas); } + /** + * Create a new TransactionInterceptor. + * @param ptm the default transaction manager to perform the actual transaction management + * @param attributes the transaction attributes in properties format + * @see #setTransactionManager + * @see #setTransactionAttributes(java.util.Properties) + * @deprecated as of 5.2.5, in favor of {@link #setTransactionAttributes(Properties)} + */ + @Deprecated + public TransactionInterceptor(PlatformTransactionManager ptm, Properties attributes) { + setTransactionManager(ptm); + setTransactionAttributes(attributes); + } + @Override @Nullable