Stéphane Nicoll
fb6e86551a
Polish "Handle arbitrary JoinPoint argument index"
...
See gh-34316
11 months ago
Joshua Chen
13ba770428
Handle arbitrary JoinPoint argument index
...
See gh-34316
Signed-off-by: Joshua Chen <27291761@qq.com>
11 months ago
Stéphane Nicoll
3923150dad
Polish "Use proper return type in AsyncExecutionInterceptor"
...
See gh-33957
11 months ago
Bao.Ngo
8eb24458f8
Use proper return type in AsyncExecutionInterceptor
...
See gh-33957
11 months ago
Sam Brannen
181db1db75
Update copyright headers to 2025
12 months ago
Sam Brannen
9de2b947cb
Upgrade to AssertJ 3.27.1
12 months ago
Juergen Hoeller
576f109987
Use JDK proxy for introduction interface without target
...
Closes gh-33985
1 year ago
Sam Brannen
8d69370b95
Consider logical equality in AdvisedSupport.MethodCacheKey#equals
...
Prior to this commit, the equals() implementation in AdvisedSupport's
MethodCacheKey only considered methods to be equal based on an identity
comparison (`==`), which led to duplicate entries in the method cache
for the same logical method.
This is caused by the fact that AdvisedSupport's
getInterceptorsAndDynamicInterceptionAdvice() method is invoked at
various stages with different Method instances for the same method:
1) when creating the proxy
2) when invoking the method via the proxy
The reason the Method instances are different is due to the following.
- Methods such as Class#getDeclaredMethods() and
Class#getDeclaredMethod() always returns "child copies" of the
underlying Method instances -- which means that `equals()` should be
used instead of (or in addition to) `==` whenever the compared Method
instances can come from different sources.
With this commit, the equals() implementation in MethodCacheKey now
considers methods equal based on identity or logical equality, giving
preference to the quicker identity check.
See gh-32586
Closes gh-33915
1 year ago
Sam Brannen
173084f81a
Polish Spring AOP documentation
1 year ago
Johnny Lim
0beb56a58c
Fix indentation to use tabs in Kotlin source files
...
Closes gh-33840
1 year ago
Brian Clozel
8ffbafd384
Prevent accidental Sysouts in the codebase
1 year ago
Juergen Hoeller
fa21dffcf8
Restore traditional AspectJ behavior through "spring.aop.ajc.ignore=true"
...
Closes gh-33704
1 year ago
Juergen Hoeller
9e3371ef07
Mark ListenableFuture as deprecated for removal
...
Closes gh-33808
1 year ago
Sam Brannen
52e813d0ad
Improve structure and naming of ProxyExceptionHandlingTests
...
Closes gh-33797
1 year ago
Sam Brannen
f19a1b50e5
Polishing
1 year ago
Sébastien Deleuze
d65bdce0e8
Remove CglibMethodInvocation
...
This class does not add anything anymore and can be
replaced by a plain ReflectiveMethodInvocation.
Closes gh-33585
1 year ago
Sébastien Deleuze
eebaa3538a
Fix a regression in Cglib Kotlin proxies
...
The commit skips using UndeclaredThrowableStrategy for
Kotlin classes in CglibAopProxy in order to fix a
related regression caused by gh-32469.
See gh-33585
1 year ago
Juergen Hoeller
9f4968ed05
Polishing
1 year ago
Juergen Hoeller
8680c43368
Check for advisor-introduced interfaces specifically
...
See gh-31304
1 year ago
Juergen Hoeller
552a5cde36
Create CGLIB proxy in case of no target interfaces (just introductions)
...
Closes gh-31304
1 year ago
Yanming Zhou
8941e2876e
Replace 'e.g.' with 'for example' in documentation and comments
...
Closes gh-33515
1 year ago
Sam Brannen
167cb5d494
Polishing
1 year ago
Sébastien Deleuze
1911ca728d
Support invoking bridged suspending functions in AopUtils
...
Closes gh-33045
1 year ago
Juergen Hoeller
f2b3263fff
Polishing
1 year ago
Juergen Hoeller
3ccaefe38f
Polishing
1 year ago
Juergen Hoeller
100da83913
Detect ajc markers in superclasses as well (for weaving check)
...
Closes gh-33113
1 year ago
Juergen Hoeller
0ea96b4806
Skip ajc-compiled aspects for ajc-compiled target classes
...
Includes defensive ignoring of incompatible aspect types.
Closes gh-32970
2 years ago
Juergen Hoeller
4f6f2c0d41
Revert to separate get/put steps against method cache for concurrency
...
Closes gh-32958
2 years ago
Juergen Hoeller
8a84241c1e
Polishing
2 years ago
Juergen Hoeller
624be6d4e6
Report bean creation failure in sortAdvisors as AopConfigException
...
Closes gh-32230
2 years ago
Sam Brannen
dac18a3ff1
Clean up warnings in Gradle build
2 years ago
Juergen Hoeller
6d7cd9c7dc
Defensive handling of incompatible advice methods
...
This covers AspectJ transaction and caching aspects when encountered by Spring AOP.
Closes gh-32882
See gh-32793
2 years ago
Juergen Hoeller
35278d09ac
Polishing
2 years ago
Juergen Hoeller
2170db6996
Skip expression resolution in getShadowMatch (aligned with 6.1.x)
...
See gh-32793
See gh-32838
2 years ago
Juergen Hoeller
ea596aa211
Select most specific advice method in case of override
...
Closes gh-32865
2 years ago
Juergen Hoeller
617833bec9
Defensively catch and log pointcut parsing exceptions
...
Closes gh-32838
See gh-32793
2 years ago
Juergen Hoeller
b7aafda872
Polishing
2 years ago
Juergen Hoeller
a4135bac5c
Leniently ignore unsupported pointcut expression
...
See gh-32793
2 years ago
Juergen Hoeller
bf08e0c1b4
Polishing
2 years ago
Juergen Hoeller
9202c0ad41
Accept ajc-compiled @Aspect classes for Spring AOP proxy usage
...
Closes gh-32793
2 years ago
Juergen Hoeller
cbda46984c
Polishing
2 years ago
Stéphane Nicoll
87855e2d34
Clear ShadowMatch instances when they are no longer needed
...
This commit gathers the ShadowMatch instances that AspectJ requires in
a dedicated class that can be used to clear the instances when they are
no longer required.
As those are mainly triggered via AspectJAwareAdvisorAutoProxyCreator,
it now implements the necessary callbacks to clear the cache.
Closes gh-12334
2 years ago
Juergen Hoeller
39cd31613b
Polishing
2 years ago
Juergen Hoeller
f6089afd0e
Use ClassLoaderAwareGeneratorStrategy with UndeclaredThrowableStrategy delegate
...
See gh-32469
2 years ago
Mikaël Francoeur
561583842f
Consistent handling of undeclared checked exceptions in CGLIB proxies ( #32469 )
...
Co-authored-by: hengyunabc <hengyunabc@gmail.com>
Co-authored-by: Mikaël Francoeur <mikael.francoeur@ticketmaster.com>
2 years ago
Sébastien Deleuze
23696b7db8
Add a classpath check for AOP Coroutines/Reactive conversion
...
Closes gh-32599
2 years ago
Sébastien Deleuze
4a7c24d90f
Refine null-safety
...
See gh-32475
2 years ago
Sébastien Deleuze
290a41d398
Refine null-safety in more modules
...
This commit refines the null-safety in all remaining modules
except spring-test.
See gh-32475
2 years ago
Sébastien Deleuze
5b660da52d
Perform NullAway build-time checks in more modules
...
This commit enables null-safety build-time checks in:
- spring-jdbc
- spring-r2dbc
- spring-orm
- spring-beans
- spring-aop
See gh-32475
2 years ago
Sébastien Deleuze
1b563f8ba4
Refine null-safety in more modules
...
This commit refines the null-safety in:
- spring-jdbc
- spring-r2dbc
- spring-orm
- spring-beans
- spring-aop
See gh-32475
2 years ago