Sam Brannen
3c00637c88
Fix @inheritDoc usage
2024-02-23 12:08:29 +01:00
Juergen Hoeller
524588ef93
Avoid transaction listener execution without transaction management setup
...
Closes gh-32319
2024-02-23 11:53:05 +01:00
Juergen Hoeller
491ebb4ec4
Merge branch '6.1.x'
...
# Conflicts:
# spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClass.java
2024-02-21 23:01:09 +01:00
Juergen Hoeller
7ffeb59b40
Polishing
2024-02-21 22:45:39 +01:00
Juergen Hoeller
8d4953d8d6
Add test for cleanup after configuration class creation failure
...
See gh-23343
2024-02-21 22:45:32 +01:00
Juergen Hoeller
f811f0dc18
Clarify primary/fallback autowiring for arrays/collections/maps
...
Closes gh-32301
2024-02-21 20:24:57 +01:00
Juergen Hoeller
f5397d6426
Consistent processing of overridden bean methods
...
Closes gh-28286
2024-02-21 18:36:03 +01:00
Sam Brannen
644887e094
Polish (Linked)HashSet usage
...
See gh-32291
2024-02-21 16:22:31 +01:00
Sam Brannen
b9c304b890
Polish contribution
...
See gh-32291
2024-02-21 16:19:53 +01:00
Patrick Strawderman
e1a32d4ba9
Avoid resizing of fixed-size HashSet/LinkedHashSet variants
...
Add helpers to CollectionUtils for building HashSets and LinkedHashSets
that can hold an expected number of elements without needing to
resize/rehash.
Closes gh-32291
2024-02-21 16:19:53 +01:00
Sam Brannen
3fb170058f
Polish contribution
...
See gh-32294
2024-02-21 14:09:09 +01:00
Patrick Strawderman
f9fe8efb2e
Use ConcurrentHashMap.newKeySet
...
In places where a ConcurrentHashMap was used as a set by wrapping it
with Collections.newSetFromMap, switch to just using the set returned
by ConcurrentHashMap.newKeySet directly.
Closes gh-32294
2024-02-21 14:08:38 +01:00
Juergen Hoeller
ff9c7141c5
Replace superclass exposure in case of late configuration class skipping
...
Closes gh-28676
2024-02-21 11:10:27 +01:00
Stéphane Nicoll
871f705bca
Remove ComponentScan duplicate condition
...
Closes gh-27077
2024-02-21 10:09:31 +01:00
Juergen Hoeller
22b41c33ba
Preserve existing imported class over scanned configuration class
...
Closes gh-24643
2024-02-20 20:43:41 +01:00
Juergen Hoeller
266953195c
Avoid enhancement of configuration class in case of existing instance
...
Closes gh-25738
2024-02-20 20:43:09 +01:00
Juergen Hoeller
ad2e95be4b
Merge branch '6.1.x'
2024-02-20 15:43:24 +01:00
Juergen Hoeller
93f0ec2fa1
Polishing
2024-02-20 15:42:15 +01:00
Juergen Hoeller
85c9279431
Consistent default error handling/logging for all scheduled tasks
...
Closes gh-32298
2024-02-20 15:42:07 +01:00
Juergen Hoeller
63ca8d5d17
Consider defaultCandidate flag in case of no annotations as well
...
See gh-26528
2024-02-20 15:30:38 +01:00
Juergen Hoeller
480051a21c
Introduce fallback flag and annotation (as companion to primary)
...
Closes gh-26241
2024-02-20 13:37:41 +01:00
Juergen Hoeller
a8fb16b47c
Introduce defaultCandidate flag (for plain type vs. qualified match)
...
Closes gh-26528
2024-02-20 12:00:47 +01:00
Juergen Hoeller
874e61a0c6
Test for async event publication before listener initialized
...
Closes gh-20904
See gh-23501
See gh-25799
2024-02-19 18:18:09 +01:00
Sam Brannen
c6e6a3e44d
Link to section in reference manual
2024-02-18 18:19:59 +01:00
Juergen Hoeller
0ddfe3977a
Merge branch '6.1.x'
2024-02-16 22:50:04 +01:00
Juergen Hoeller
7bb9e85723
Avoid trivial static import
2024-02-16 22:43:56 +01:00
Juergen Hoeller
3aae7a66e6
Polishing
2024-02-16 22:27:09 +01:00
Sam Brannen
71dfebbfe5
Polishing
2024-02-16 16:45:18 +01:00
Sam Brannen
7c07c43201
Polishing
2024-02-16 15:00:06 +01:00
Juergen Hoeller
6791ea94a0
Change executor phase to MAX_VALUE/2 and reduce timeout to 10 seconds
...
Closes gh-32152
2024-02-16 14:16:32 +01:00
Juergen Hoeller
7e67da8a26
Support for matching partial generics
...
Closes gh-20727
2024-02-15 16:51:09 +01:00
Yanming Zhou
e788aeb25b
Improve GenericTypeResolver to resolve type variable recursively
...
Fix GH-24963
2024-02-15 16:28:45 +01:00
Stéphane Nicoll
aef4b21f19
Polish "Add ThreadLocalAccessor for LocaleContext and RequestAttributes"
...
See gh-32243
2024-02-15 15:57:43 +01:00
Tadaya Tsuyukubo
5bd1c1fddb
Add ThreadLocalAccessor for LocaleContext and RequestAttributes
...
Add `ThreadLocalAccessor` implementations:
- `LocaleThreadLocalAccessor`
- `RequestAttributesThreadLocalAccessor`
See gh-32243
2024-02-15 15:49:55 +01:00
Stéphane Nicoll
e3aa5b6b11
Use new implementation in PropertyPlaceholderHelper
...
This commit removes the previous implementation in favor of the new
PlaceholderParser. The only noticeable side effect is that the exception
is no longer an IllegalArgumentException, but rather the dedicated
PlaceholderResolutionException.
See gh-9628
2024-02-15 15:27:13 +01:00
Sébastien Deleuze
cc6dd19324
Polishing
2024-02-13 14:29:18 +01:00
Juergen Hoeller
b4153618a4
Consistent Lock field declaration (instead of ReentrantLock field type)
2024-02-13 11:07:20 +01:00
Juergen Hoeller
a2000dba33
Leniently accept tasks after context close in lifecycle stop phase
...
Schedulers remain strict, just plain executors are lenient on shutdown now.
An early shutdown for executors can be enforced via setStrictEarlyShutdown.
Closes gh-32226
2024-02-11 21:33:53 +01:00
Sam Brannen
ce43d1b1da
Simplify logic in ApplicationContextAwareProcessor.postProcessBeforeInitialization()
2024-02-10 15:46:38 +01:00
Sam Brannen
1080c145e3
Polish ApplicationContextAwareProcessor
2024-02-10 11:46:09 +01:00
Juergen Hoeller
3ecbc4de13
Polishing
2024-02-06 17:57:47 +01:00
Juergen Hoeller
9698dbc232
Add javadoc and rename merge method to mergeProperties
...
See gh-32118
2024-02-06 09:13:09 +01:00
Andrei Bastun
c559ec4dfb
Refactor ReloadableResourceBundleMessageSource
...
This change allows subclasses to reuse collecting and merging
algorithm when overriding getMergedProperties method.
2024-02-06 08:23:51 +01:00
Juergen Hoeller
3d4d68c26f
Run listener/send task locally as fallback on RejectedExecutionException
...
Closes gh-32171
2024-02-01 11:07:02 +01:00
Sam Brannen
db535863dd
Consistently use class literals for primitive types
...
To improve consistency and avoid confusion regarding primitive types
and their wrapper types, this commit ensures that we always use class
literals for primitive types.
For example, instead of using the `Void.TYPE` constant, we now
consistently use `void.class`.
2024-01-30 15:26:12 +01:00
Juergen Hoeller
005d5ef922
Polishing
2024-01-29 16:53:35 +01:00
Juergen Hoeller
5dc26460fb
Eagerly initialize ZERO_NANOS constant
2024-01-29 16:48:08 +01:00
Juergen Hoeller
969b18b0e8
Polishing
2024-01-29 15:25:43 +01:00
Juergen Hoeller
08e6df8832
Revise shutdown phase log message and executor shutdown documentation
...
Closes gh-32109
2024-01-29 13:03:20 +01:00
Juergen Hoeller
a738e4d5fd
Explicit documentation note on cron-vs-quartz parsing convention
...
Closes gh-32128
2024-01-29 13:02:43 +01:00
Sam Brannen
2e56361fe4
Simplify implementation of internal VariableNotAvailableException
...
Since VariableNotAvailableException is not a public type, there is no
need to store the variable name in a field/property.
2024-01-28 17:05:30 +01:00
Sam Brannen
0e45f4cec4
Polishing
2024-01-26 11:08:58 +01:00
Juergen Hoeller
c6121da151
Polishing
2024-01-24 22:30:33 +01:00
Juergen Hoeller
c5a75219ce
Compare qualifier value arrays with equality semantics
...
Closes gh-32106
2024-01-24 22:30:28 +01:00
Juergen Hoeller
6bd7f0231d
Avoid double exists() call for common resource resolution
...
See gh-30369
See gh-18990
2024-01-22 13:40:51 +01:00
Sam Brannen
5856d2e54e
Polish contribution
...
See gh-32069
2024-01-21 16:27:59 +01:00
mnhock
a8fa98e2a6
Remove unnecessary semicolons in enum declarations
...
Closes gh-32069
2024-01-21 16:25:36 +01:00
Juergen Hoeller
00bda65848
Polishing
2024-01-19 17:09:58 +01:00
Stéphane Nicoll
f5b0d9509d
Polish
2024-01-17 18:41:15 +01:00
Stéphane Nicoll
0c42965fc3
Polish
2024-01-15 11:17:19 +01:00
Sam Brannen
c4831d2586
Document that Conditions can be ordered
...
Closes gh-32019
2024-01-12 16:30:24 +01:00
Sam Brannen
e4569defd9
Polish Javadoc for Condition
2024-01-12 16:24:20 +01:00
Juergen Hoeller
4d11307b84
Polishing
2024-01-09 11:55:04 +01:00
Sam Brannen
785598629a
Make max length of SpEL expressions in an ApplicationContext configurable
...
This commit introduces support for a Spring property named
`spring.context.expression.maxLength`. When set, the value of that
property is used internally in StandardBeanExpressionResolver to
configure the SpelParserConfiguration used when evaluating String
values in bean definitions, @Value, etc.
Closes gh-31952
2024-01-09 11:15:32 +01:00
rstoyanchev
37fa82c578
Lenient rejectedValue lookup in SpringValidatorAdapter
...
Closes gh-29043
2024-01-08 16:39:53 +00:00
Stéphane Nicoll
1f2d29ee08
Polish
2024-01-08 17:12:33 +01:00
rstoyanchev
8552e149b5
Improve method validation for container elements
...
This change moves container element properties from ParameterErrors
to base class ParameterValidationResult, and makes that support
independent of whether violations are nested within a container
element bean or through constraints on container elements, e.g.
`List<@NotBlank String>`.
Closes gh-31887
2024-01-05 16:32:14 +00:00
Juergen Hoeller
9912a52bb8
Avoid getMostSpecificMethod resolution for non-annotated methods
...
This is aligned with AutowiredAnnotationBeanPostProcessor now.
Closes gh-31967
2024-01-07 16:33:49 +01:00
Juergen Hoeller
419e34e571
Introduce getMostSpecificMethod variant on BridgeMethodResolver
...
This is able to resolve the original method even if no bridge method has been generated at the same class hierarchy level (a known difference between the Eclipse compiler and regular javac).
Closes gh-21843
2024-01-07 16:33:06 +01:00
Sam Brannen
f6b36a689a
Introduce processInjection() in CommonAnnotationBeanPostProcessor
...
To align with the existing processInjection() method in
AutowiredAnnotationBeanPostProcessor, this commit introduces an analogous
method in CommonAnnotationBeanPostProcessor.
Closes gh-31956
2024-01-05 16:05:07 +01:00
Sam Brannen
4b6126c057
Polishing
2024-01-05 15:17:51 +01:00
Juergen Hoeller
07097976ef
Polishing
2024-01-05 10:08:57 +01:00
Juergen Hoeller
fb4fbeab50
Allow CronTrigger to resume from specified timestamp
...
Includes differentiation between lenient and fixed execution.
Includes default time zone resolution from scheduler-wide Clock.
Closes gh-19475
Closes gh-31948
2024-01-05 10:08:01 +01:00
Stéphane Nicoll
05ebca8677
Polish
2024-01-03 17:03:58 +01:00
juhyun
89466cb33c
Fix typo in NumberFormat javadoc
...
See gh-31938
2024-01-03 14:27:00 +01:00
Stéphane Nicoll
bf3a478990
Add support for functional registration of application listener
...
This commit adds a functional style registration of an application
listener for a particular event. Rather than introducing another method
at the ConfigurableApplicationContext interface level, this commit
provides a factory method in GenericApplicationListener.
Closes gh-21411
2024-01-03 13:38:08 +01:00
Sam Brannen
ffddbb586e
Upgrade to AssertJ 3.25.0
2024-01-02 16:45:04 +01:00
Sam Brannen
a3c11fc033
Clean up warnings in tests in Gradle build
2024-01-02 16:44:52 +01:00
Brian Clozel
ec5f566ba5
Fix Scheduled observation convention for lambdas
...
Prior to this commit, the `DefaultScheduledTaskObservationConvention`
would fail as it tried to add a `KeyValue` to the observation context
that is `null`. This is rejected by the observation registry and should
be prevented. This happened when registered scheduled methods were
lambdas or part of anonymous classes. Those types do not have a
canonical name and return `null` as a value there.
This commit ensures that for these cases, the default convetion uses a
`"ANONYMOUS"` value as the `"code.namespace"` keyvalue.
Fixes gh-31918
2024-01-02 15:12:26 +01:00
Stéphane Nicoll
e22d1efdc0
Update copyright year of changed files
...
See gh-31930
2024-01-01 11:00:56 +01:00
Johnny Lim
ff8097d37c
Polish
...
See gh-31930
2024-01-01 10:59:35 +01:00
Stéphane Nicoll
3c5d46166e
Polish "Replace if with switch where feasible"
...
See gh-31916
2023-12-28 13:33:32 +01:00
Yanming Zhou
cfa3aa001f
Replace if with switch where feasible
...
See gh-31916
2023-12-28 13:29:50 +01:00
Stéphane Nicoll
a6e87b40c7
Polish "Use diamond operator where feasible"
...
See gh-31916
2023-12-28 13:14:26 +01:00
Yanming Zhou
094479b55f
Use diamond operator where feasible
...
See gh-31916
2023-12-28 13:08:08 +01:00
Yanming Zhou
db2c532c07
Use auto boxing and unboxing where feasible
...
See gh-31916
2023-12-28 13:01:44 +01:00
Yanming Zhou
4a450c6fab
Use enhanced for loop where feasible
...
See gh-31916
2023-12-28 13:01:44 +01:00
Stéphane Nicoll
7cfff4049d
Polish "Remove unnecessary final modifier"
...
See gh-31916
2023-12-28 13:01:44 +01:00
Yanming Zhou
45080e3724
Remove unnecessary final modifier
...
final is useless for private and static methods
See gh-31916
2023-12-28 13:01:43 +01:00
Yanming Zhou
36a72115f9
Fix @Nested class not be executed
...
See gh-31914
2023-12-28 11:37:47 +01:00
Johnny Lim
088be2d017
Add Javadoc since to CacheOperationContext.getGeneratedKey()
...
See gh-31912
2023-12-28 11:25:36 +01:00
Juergen Hoeller
a338a16b29
Polishing
2023-12-27 23:23:38 +01:00
Juergen Hoeller
17d362fa85
Document limited concurrency with fixed-delay tasks on virtual threads
...
Closes gh-31900
2023-12-26 10:59:13 +01:00
Sébastien Deleuze
8bd8c4f627
Add support for `@Async` Kotlin function returning `Unit?`
...
Closes gh-31881
2023-12-22 15:33:34 +01:00
Juergen Hoeller
232225b2aa
Polishing
2023-12-22 13:06:29 +01:00
Juergen Hoeller
44c652ec98
Introduce ProxiedInterfacesCache for JdkDynamicAopProxy
...
Closes gh-30499
2023-12-22 11:55:59 +01:00
rstoyanchev
459338f6fd
Unwrap Optional in MethodValidationAdapter
...
See gh-31746
2023-12-21 17:55:49 +00:00
rstoyanchev
f0add920f5
Adjust container types to which methodValidation
...
After the updates to MethodValidationAdapter in commit d7ce13 related
to method validation on element containers, we also need to adjust
the checks in HandlerMethod when method validation applies.
See gh-31746
2023-12-21 17:50:40 +00:00
Sam Brannen
3ed5a90b7c
Fix assertions in ReactiveCachingTests
2023-12-21 17:30:56 +01:00
Juergen Hoeller
b04803de99
Polishing
2023-12-21 17:20:29 +01:00