Sam Brannen
6fdf5ef6ee
Polish contribution
...
See gh-24205
2019-12-13 17:14:26 +01:00
Сергей Цыпанов
d9cae339d6
Simplify AdvisedSupport.removeAdvisor()
...
Closes gh-24205
2019-12-13 17:12:18 +01:00
stsypanov
484006ce90
Hoist Class.getName() from String concatenation to dodge an issue related to profile pollution
2019-12-06 17:36:07 +01:00
Sam Brannen
769a15cb82
Polishing
2019-11-18 13:01:26 +01:00
stsypanov
f2b3953d76
Use array.clone() instead of manual array creation
2019-11-13 13:53:42 +01:00
stsypanov
f5ae3c77c6
Use Method::getParameterCount where possible
2019-11-07 18:00:15 +01:00
stsypanov
9da15ee23a
Improve usage of String.substring()
...
Closes gh-23923
2019-11-06 12:57:01 +01:00
Juergen Hoeller
d00690f43f
Merge branch '5.1.x'
...
# Conflicts:
# build.gradle
# spring-context/spring-context.gradle
# spring-test/spring-test.gradle
# spring-web/spring-web.gradle
# spring-webflux/spring-webflux.gradle
# spring-webmvc/spring-webmvc.gradle
2019-09-25 23:13:49 +02:00
Juergen Hoeller
357beb24bc
Polishing
2019-09-25 22:15:07 +02:00
Juergen Hoeller
bd70f10d2b
Merge branch '5.1.x'
...
# Conflicts:
# build.gradle
# spring-aop/src/main/java/org/springframework/aop/framework/CglibAopProxy.java
# spring-aspects/spring-aspects.gradle
# spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java
# spring-beans/src/main/java/org/springframework/beans/factory/support/GenericBeanDefinition.java
# spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java
# spring-orm/spring-orm.gradle
# spring-test/spring-test.gradle
2019-09-25 12:43:24 +02:00
Juergen Hoeller
bb6f9bb6d4
Polishing
2019-09-25 12:14:48 +02:00
Sam Brannen
9811e21432
Merge branch '5.1.x'
2019-09-19 15:57:33 +02:00
Sam Brannen
8f6846827d
Ensure ClassFilter and MethodMatcher implementations are cacheable
...
While resolving the regression raised in gh-23571, it came to our
attention that not all of our ClassFilter and MethodMatcher
implementations were properly cacheable with CGLIB generated proxies
due to missing (or improper) equals() and hashCode() implementations.
Although such deficiencies may not manifest themselves as bugs in Core
Spring's default arrangements, these might cause issues in custom
arrangements in user applications.
This commit addresses this by ensuring that ClassFilter and
MethodMatcher implementations properly implement equals() and
hashCode(). In addition, missing toString() implementations have been
added to improve diagnostics for logging and debugging.
Closes gh-23659
2019-09-19 15:35:17 +02:00
Sam Brannen
e1e072b75c
Fix memory leak regression involving @Async methods
...
Spring Framework 5.2 M1 introduced a memory leak for applications using
@Async methods. Specifically, in a large test suite with multiple
ApplicationContexts that were closed (e.g., via @DirtiesContext,
@MockBean, or context cache eviction), the JVM process could run out of
memory.
Underlying cause: Due to a missing equals() implementation in Spring's
new AnnotationCandidateClassFilter, CGLIB's static cache of generated
classes indirectly retained references to BeanFactory instances for the
closed ApplicationContexts for the duration of the test suite.
This commit fixes this regression by introducing a proper equals()
implementation in AnnotationCandidateClassFilter. This commit also
introduces corresponding hashCode() and toString() implementations.
Closes gh-23571
2019-09-18 14:28:54 +02:00
Sam Brannen
46a37b447c
Fix copyright dates
...
See gh-23393
2019-08-27 19:30:05 +02:00
stsypanov
78d56dc61b
Use Arrays.copyOf and Arrays.copyOfRange where possible
...
Closes gh-23393
2019-08-27 19:18:39 +02:00
Sam Brannen
1ec9721617
Fix @since tags in ScopedProxyUtils[Tests]
...
See gh-23514
2019-08-27 16:01:50 +02:00
Sam Brannen
9d2a874e3f
Introduce getOriginalBeanName(String) in ScopedProxyUtils
...
This commit introduces a utility method for retrieving the original
bean name for the target of a scoped proxy.
Closes gh-23514
2019-08-27 15:46:34 +02:00
Sam Brannen
5105b74f6e
Add missing @Nullable declaration
...
See gh-23514
2019-08-25 15:15:48 +02:00
Sam Brannen
9be6aa64ef
Introduce getOriginalBeanName(String) in ScopedProxyUtils
...
This commit introduces a utility method for retrieving the original
bean name for the target of a scoped proxy.
Closes gh-23514
2019-08-25 15:13:53 +02:00
Juergen Hoeller
9bd3a535cd
Avoid UndeclaredThrowableStrategy with 1.8 bytecode level (CGLIB 3.3)
...
ClassLoaderAwareUndeclaredThrowableStrategy fails with a VerifyError on recent JDKs after the CGLIB 3.3 upgrade. The alternative is to replace it with a plain ClassLoaderAwareGeneratorStrategy (extracted from CglibSubclassingInstantiationStrategy) and custom UndeclaredThrowableException handling in CglibMethodInvocation.
See gh-23453
2019-08-14 00:14:14 +02:00
Сергей Цыпанов
1728bf17fc
Avoid unnecessary boxing where primitives can be used
...
Closes gh-23267
2019-07-10 16:51:18 +02:00
Issam El-atif
57fa09b80d
Fix typo
...
See gh-23142
2019-06-17 11:40:45 +02:00
stsypanov
49873a30c5
Simplify String concatenation
2019-06-12 17:32:35 +02:00
Sebastien Deleuze
098ac0bbb8
Annotate Object#equals parameter with @Nullable
...
Closes gh-23093
2019-06-06 14:18:30 +02:00
Juergen Hoeller
171e8f56a3
Merge branch '5.1.x'
2019-05-20 22:27:37 +02:00
Juergen Hoeller
75d751d968
Polishing
2019-05-20 22:19:11 +02:00
stsypanov
6f07a504b8
A couple of trivial simplifications
2019-05-20 21:41:15 +02:00
Сергей Цыпанов
18af3892dd
Make inner classes static where possible
...
Closes gh-22804
2019-04-17 19:05:24 +02:00
stsypanov
604361ee1f
Use concatenation instead of torn StringBuilder::append chain
2019-04-09 13:23:22 +02:00
Juergen Hoeller
57de2e0900
Deprecate ClassUtils.isCglibProxy methods in favor of AOP-level checks
...
Closes gh-22706
2019-03-29 11:12:49 +01:00
Sam Brannen
e98fd762ba
URL Cleanup - license headers - target subpackages
...
This commit updates license headers for source files residing in
subpackages named `target`.
Closes gh-22634
2019-03-23 15:22:44 +01:00
Spring Operator
540759ec41
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# Fixed URLs
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/ ) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 6515 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
2019-03-23 15:19:34 +01:00
Rob Winch
62ea7382d7
Polish URL Cleanup
...
Update Apache Headers
2019-03-22 00:24:06 -05:00
Spring Operator
dc6f63f610
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# Fixed URLs
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/ ) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 6625 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0 ) result 200).
2019-03-21 23:49:28 -05:00
Juergen Hoeller
40c62139ae
Early resolution of unique factory methods in configuration classes
...
Includes consistent bean class resolution in the enhancement step as well as general reflection optimizations for user-declared methods.
Closes gh-22420
2019-03-12 17:17:24 +01:00
Juergen Hoeller
e3a9826e56
Bypass method traversal for annotation introspection if possible
...
The isCandidateClass mechanism is consistently used for a bypass check before method traversal attempts. While by default this is only bypassing standard java types, the same mechanism can be used with index metadata which indicates non-presence of certain annotations.
See gh-22420
2019-03-12 00:12:22 +01:00
Juergen Hoeller
b2b0df893a
Merge branch '5.1.x'
2019-03-05 14:20:02 +01:00
Juergen Hoeller
6c599208f6
Remove javadoc reference to unsupported FieldInterceptor
...
Closes gh-22507
2019-03-05 13:07:57 +01:00
Sam Brannen
70cf597484
Remove obsolete overview.html files
2019-03-04 14:07:48 +01:00
Sam Brannen
6853d50ddb
Polishing
2019-03-03 16:29:49 +01:00
Juergen Hoeller
3a641d9297
Merge branch '5.1.x'
2019-02-26 17:50:35 +01:00
Juergen Hoeller
227c813c64
Revised AbstractAdvisorAutoProxyCreator javadoc
...
Closes gh-22473
2019-02-26 17:42:43 +01:00
Juergen Hoeller
bc0317af3b
Merge branch '5.1.x'
2019-02-25 17:57:49 +01:00
Juergen Hoeller
cb54f201c2
Break out of loop once an AspectJ advice has been found
...
Closes gh-22449
2019-02-25 17:24:02 +01:00
Sebastien Deleuze
e5a595e77d
Merge branch '5.1.x'
2019-02-22 09:50:28 +01:00
Sebastien Deleuze
f19d7c0375
Fix AbstractTraceInterceptor null-safety annotations
...
Closes gh-22435
2019-02-22 09:47:14 +01:00
Juergen Hoeller
6db75956b9
Merge branch '5.1.x'
2019-02-15 17:16:28 +01:00
Juergen Hoeller
e307dd58db
Polishing
2019-02-15 17:06:11 +01:00
stsypanov
e44d3dabc4
use Method in fixedInterceptorMap instead of String returned from Method::toString
2019-02-15 14:53:26 +01:00