Sébastien Deleuze
46fb7c026c
Upgrade to nullability plugin 0.0.9
...
This commit also replaces Arch Unit packageInfoShouldBeNullMarked() rule
by either configuring requireExplicitNullMarking = false when the whole
module does not have JSpecify annotations, or explicit @NullUnmarked
when some have and some don't.
See gh-36054
2025-12-29 17:09:53 +01:00
木葉 Scarlet
d077e043d6
Consistently declare @Nullable on parameter in equals() implementations
...
Closes gh-36075
Signed-off-by: 木葉 Scarlet <93977077+mukjepscarlet@users.noreply.github.com >
2025-12-29 11:43:49 +02:00
Sam Brannen
7212fbe36a
Polishing
2025-12-29 11:43:23 +02:00
Juergen Hoeller
5b6c231788
Use dedicated ApplicationEventFactory interface in EventPublicationInterceptor
...
See gh-36072
2025-12-25 11:25:54 +01:00
Juergen Hoeller
08104100d3
Introduce generalized MethodFailureEvent for use in EventPublicationInterceptor
...
Closes gh-36072
2025-12-24 18:50:04 +01:00
Juergen Hoeller
92a43c007a
Introduce MethodRetryEvent for @Retryable execution
...
Closes gh-35382
2025-12-23 09:28:23 +01:00
Juergen Hoeller
c813577908
Consistently use DefaultParameterNameDiscoverer.getSharedInstance()
...
This includes MethodParameter resolving getParameterName() by default now.
initParameterNameDiscovery(null) can be used to suppress such resolution.
Closes gh-36024
2025-12-17 13:39:02 +01:00
Sam Brannen
a4c72c8fcf
Polish integration tests
2025-12-15 15:05:05 +01:00
Juergen Hoeller
7fd0c5041d
Use default ConstraintValidatorFactory for provider-internal validators
...
Closes gh-36012
2025-12-15 14:26:58 +01:00
Juergen Hoeller
d99ace81c1
Enforce publicly accessible method for externalClassLoader(ClassLoader)
...
Closes gh-36012
2025-12-14 14:48:33 +01:00
Sam Brannen
d0be180a69
Make @Retryable and RetryTemplate timeout tests more robust
...
See gh-35963
2025-12-10 14:22:42 +01:00
Sam Brannen
2137ec70d2
Make @Retryable timeout tests more robust
...
See gh-35963
2025-12-09 16:56:53 +01:00
Sam Brannen
b46328a000
Fix broken assertions in @Retryable timeout tests
...
See gh-35963
2025-12-09 16:38:05 +01:00
Sam Brannen
cc4c693db7
Log RetryException for @Retryable methods
...
To improve diagnostics, this commit logs a DEBUG message including the
RetryException thrown by RetryTemplate when it's used behind the scenes
for @Retryable method invocations.
Closes gh-35983
2025-12-09 16:24:00 +01:00
Sam Brannen
a206ea8b12
Make @Retryable timeout tests more robust
...
See gh-35963
2025-12-09 16:10:43 +01:00
Sam Brannen
9f1d9fe82c
Support timeouts in @Retryable and RetryPolicy
...
Specifically, this commit introduces:
- timeout and timeoutString attributes in @Retryable
- a default getTimeout() method in RetryPolicy
- a timeout() method in RetryPolicy.Builder
- an onRetryPolicyTimeout() callback in RetryListener
- support for checking exceeded timeouts in RetryTemplate (also used
for imperative method invocations with @Retryable)
- support for checking exceeded timeouts in reactive pipelines with
@Retryable
Closes gh-35963
2025-12-09 14:06:35 +01:00
Sam Brannen
103db5429a
Use AtomicIntegerAssert
2025-12-09 12:43:18 +01:00
Sam Brannen
68f8139206
Polishing
2025-12-08 17:11:38 +01:00
Sébastien Deleuze
f19f1a667c
Add support for package-private BeanRegistrar
...
Closes gh-35803
2025-12-05 17:04:51 +01:00
Sébastien Deleuze
69207c6c16
Introduce BeanFactoryInitializationCode#getClassName
...
See gh-35803
2025-12-05 17:04:51 +01:00
Juergen Hoeller
9d2d9ae0ff
Reinstate stopOrder test
...
See gh-35964
2025-12-05 16:30:00 +01:00
Juergen Hoeller
c74af40288
Stop already started Lifecycle beans on cancelled refresh
...
Closes gh-35964
2025-12-05 16:14:27 +01:00
Juergen Hoeller
dfc900c7c4
Add @Override to existing resetCaches() methods
...
See gh-35845
See gh-35840
2025-12-04 07:09:21 +01:00
Juergen Hoeller
07c0213f20
Polishing
2025-12-04 00:12:31 +01:00
Juergen Hoeller
96aadc2b12
Add resetCaches() method to general CacheManager interface
...
Closes gh-35845
See gh-35840
2025-12-04 00:12:13 +01:00
Juergen Hoeller
3b90311c17
Revise ApplicationContext#getId() nullability to non-null
...
Closes gh-35925
2025-11-28 13:58:11 +01:00
Juergen Hoeller
61d5413c23
Tighten cacheable decision behind @Lazy injection point
...
Closes gh-35917
2025-11-27 16:00:43 +01:00
Juergen Hoeller
6c3132cb8c
Narrow method annotation check in hasQualifier to setter methods
...
Closes gh-35908
2025-11-26 23:01:55 +01:00
Vincent Potucek
83bbf16e6c
Modernize java.time API usages
...
See gh-35861
Signed-off-by: Vincent Potucek <vpotucek@me.com >
2025-11-26 10:24:34 +01:00
Juergen Hoeller
3686b89ab5
Revise proxyTargetClass handling in ResilientMethodsConfiguration and ProxyAsyncConfiguration
...
An annotation-specified proxyTargetClass attribute must only be applied when true, otherwise we need to participate in global defaulting.
Closes gh-35863
2025-11-25 18:03:04 +01:00
Juergen Hoeller
35b8fbf901
Remove javadoc references to deprecated PropertiesBeanDefinitionReader
...
Closes gh-35836
2025-11-19 16:18:56 +01:00
Juergen Hoeller
57a1d4007b
Fix getCacheNames() concurrent access in NoOpCacheManager
...
Closes gh-35842
2025-11-18 13:37:39 +01:00
Juergen Hoeller
bc3431f435
Add resetCaches() method to Caffeine/ConcurrentMapCacheManager
...
Closes gh-35840
2025-11-18 13:37:14 +01:00
Juergen Hoeller
de5b9aab55
Narrow Aware interface exclusion check to BeanFactoryAware only
...
Closes gh-35835
2025-11-18 13:36:29 +01:00
Sam Brannen
fac8708857
Migrate CronTriggerTests to @ParameterizedClass
...
This commit migrates CronTriggerTests to @ParameterizedClass as a proof
of concept for how this can be applied across the code base.
See gh-35833
2025-11-17 16:36:57 +01:00
Tran Ngoc Nhan
18d8d458e3
Fix typos in tests
...
Closes gh-35815
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com >
2025-11-13 13:43:54 +01:00
Juergen Hoeller
39d29c8f7e
Replace ConcurrentReferenceHashMap with synchronized IdentityHashMap
...
Closes gh-35788
2025-11-11 19:31:08 +01:00
Juergen Hoeller
0552cdb7ed
Revise ConcurrentReferenceHashMap for @ConcurrencyLimit race condition
...
Closes gh-35788
See gh-35794
2025-11-11 13:39:15 +01:00
Sam Brannen
24590092ef
Rename maxAttempts to maxRetries in @Retryable and RetryPolicy
...
Prior to this commit, the maximum number of retry attempts was
configured via @Retryable(maxAttempts = ...),
RetryPolicy.withMaxAttempts(), and RetryPolicy.Builder.maxAttempts().
However, this led to confusion for developers who were unsure if
"max attempts" referred to the "total attempts" (i.e., initial attempt
plus retry attempts) or only the "retry attempts".
To improve the programming model, this commit renames maxAttempts to
maxRetries in @Retryable and RetryPolicy.Builder and renames
RetryPolicy.withMaxAttempts() to RetryPolicy.withMaxRetries(). In
addition, this commit updates the documentation to consistently point
out that total attempts = 1 initial attempt + maxRetries attempts.
Closes gh-35772
2025-11-10 11:15:25 +01:00
Sam Brannen
388abf9312
Fix Javadoc link
2025-11-09 16:05:06 +01:00
Sam Brannen
e91befa5bb
Polishing
2025-11-09 15:24:26 +01:00
Juergen Hoeller
73dfd08526
Merge branch '6.2.x'
...
# Conflicts:
# spring-context/src/main/java/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.java
# spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java
2025-11-08 10:03:18 +01:00
Juergen Hoeller
38555df3d8
Fix Aware exclusion check to apply to interface method only
...
See gh-35780
2025-11-08 09:53:17 +01:00
Juergen Hoeller
6f81cb625c
Avoid unnecessary bridge method resolution around getMostSpecificMethod
...
Closes gh-35780
2025-11-08 09:16:31 +01:00
Juergen Hoeller
585b4e08e8
Merge branch '6.2.x'
...
# Conflicts:
# framework-platform/framework-platform.gradle
# spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypesBeanRegistrationAotProcessor.java
# spring-orm/src/test/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypesBeanRegistrationAotProcessorTests.java
2025-11-05 12:54:30 +01:00
Juergen Hoeller
4f97c41e58
Avoid javadoc failure for line break with annotation reference
...
See gh-35736
2025-11-05 12:35:09 +01:00
Juergen Hoeller
b027b73a7a
Relax configuration class requirement in configurer callback javadoc
...
Closes gh-35736
2025-11-05 12:22:44 +01:00
Sam Brannen
80b7a34942
Merge branch '6.2.x'
2025-11-02 16:24:42 +01:00
Sam Brannen
ae804cb2d0
Improve @NumberFormat Javadoc
...
See gh-35742
2025-11-02 16:23:47 +01:00
Stefano Cordio
46503d6a45
Fix typo in @NumberFormat Javadoc
...
Closes gh-35742
Signed-off-by: Stefano Cordio <stefano.cordio@gmail.com >
2025-11-02 16:14:11 +01:00