Juergen Hoeller
39cd31613b
Polishing
2024-04-10 18:06:32 +02:00
Sébastien Deleuze
ca2b3c170c
Add Kotlin hints for enclosing class
...
This is needed by Kotlin reflection in order to be able to list
class members on native.
Closes gh-32472
2024-04-10 17:53:12 +02:00
Juergen Hoeller
39b551c334
Document hand-off to execution thread (including ScheduledFuture impact)
...
Closes gh-32589
2024-04-09 16:14:38 +02:00
Juergen Hoeller
f2889b1b43
Consistent support for generic FactoryBean type matching
...
Closes gh-32590
See gh-32489
2024-04-08 22:39:29 +02:00
Stéphane Nicoll
802967fc98
Add reproducer
...
See gh-32489
2024-04-08 11:09:56 +02:00
Yanming Zhou
23d89362b0
Polish javadoc of AnnotatedBeanDefinitionReader
...
See gh-32560
2024-04-01 12:12:02 +02:00
Stéphane Nicoll
c7c9da56da
Consistent atMost period for Awaitility-based tests
...
Closes gh-32537
2024-03-26 17:45:14 +01:00
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
2024-03-26 15:39:18 +01:00
Juergen Hoeller
c531a8a705
Nullability refinements and related polishing
...
See gh-32475
2024-03-19 09:58:44 +01:00
Juergen Hoeller
d2000efbd8
Polishing
2024-03-15 21:17:01 +01:00
Juergen Hoeller
c23fd784a0
Consistently apply TaskDecorator to ManagedExecutorService as well
...
Closes gh-32455
2024-03-15 21:16:37 +01:00
Juergen Hoeller
c1287d48e2
Polishing
2024-03-08 19:31:01 +01:00
Simon Baslé
6d9a2eb9b8
Improve fix of duplicate upstream subscription during reactive cache put
...
This commit fixes an issue where a Cacheable method which returns a
Flux (or multi-value publisher) will be invoked once, but the returned
publisher is actually subscribed twice.
The previous fix 988f3630c would cause the cached elements to depend on
the first usage pattern / request pattern, which is likely to be too
confusing to users. This fix reintroduces the notion of exhausting the
original Flux by having a second subscriber dedicated to that, but uses
`refCount(2)` to ensure that the original `Flux` returned by the cached
method is still only subscribed once.
Closes gh-32370
2024-03-07 12:08:28 +01:00
Juergen Hoeller
e5e61dfa3f
Ignore scheduled task exceptions after shutdown
...
Includes suppression after logging, not propagating exceptions to the thread itself.
Closes gh-32381
See gh-32298
2024-03-06 18:03:31 +01:00
Simon Baslé
988f3630c4
Avoid duplicate upstream subscription during reactive cache put
...
This commit fixes an issue where a Cacheable method which returns a
Flux (or multi-value publisher) will be invoked once, but the returned
publisher is actually subscribed twice.
By using the Reactor `tap` operator, we ensure that we can emit values
downstream AND accumulate emitted values into the List with a single
subscription.
The SignalListener additionally handles scenarios involving cancel,
for instance in case of a `take(1)` in the chain. In that case values
emitted up until that point will have been stored into the List buffer,
so we can still put it in the cache. In case of error, no caching occurs
and the internal buffer is cleared. This implementation also protects
against competing onComplete/onError signals and cancel signals.
Closes gh-32370
2024-03-05 18:32:32 +01:00
Juergen Hoeller
a0ae849856
Polishing
2024-03-05 18:23:13 +01:00
Juergen Hoeller
e9110c0729
Polishing
2024-03-04 22:48:52 +01:00
Juergen Hoeller
f22a1eece4
Polishing
2024-02-28 19:14:37 +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
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
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
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