Browse Source

Accept protected @Transactional/Cacheable methods on CGLIB proxies

Closes gh-25582
pull/27818/head
Juergen Hoeller 4 years ago
parent
commit
37bebeaaaf
  1. 5
      spring-context/src/main/java/org/springframework/cache/annotation/ProxyCachingConfiguration.java
  2. 5
      spring-tx/src/main/java/org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.java

5
spring-context/src/main/java/org/springframework/cache/annotation/ProxyCachingConfiguration.java vendored

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2020 the original author or authors. * Copyright 2002-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -56,7 +56,8 @@ public class ProxyCachingConfiguration extends AbstractCachingConfiguration {
@Bean @Bean
@Role(BeanDefinition.ROLE_INFRASTRUCTURE) @Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public CacheOperationSource cacheOperationSource() { public CacheOperationSource cacheOperationSource() {
return new AnnotationCacheOperationSource(); // Accept protected @Cacheable etc methods on CGLIB proxies, as of 6.0.
return new AnnotationCacheOperationSource(false);
} }
@Bean @Bean

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

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2020 the original author or authors. * Copyright 2002-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -56,7 +56,8 @@ public class ProxyTransactionManagementConfiguration extends AbstractTransaction
@Bean @Bean
@Role(BeanDefinition.ROLE_INFRASTRUCTURE) @Role(BeanDefinition.ROLE_INFRASTRUCTURE)
public TransactionAttributeSource transactionAttributeSource() { public TransactionAttributeSource transactionAttributeSource() {
return new AnnotationTransactionAttributeSource(); // Accept protected @Transactional methods on CGLIB proxies, as of 6.0.
return new AnnotationTransactionAttributeSource(false);
} }
@Bean @Bean

Loading…
Cancel
Save