Juergen Hoeller
9f1e822f3e
Polishing
2021-02-14 18:48:49 +01:00
Juergen Hoeller
b4baa86bfa
Close mapping streams after the ValidatorFactory has been built
...
Closes gh-26418
2021-02-14 18:48:31 +01:00
Juergen Hoeller
27c5480c82
Fail early FactoryBean instantiation for LinkageError
...
Closes gh-26425
(cherry picked from commit defc2466b0 )
2021-02-14 18:08:15 +01:00
Stephane Nicoll
271a9097ac
Clarify behaviour of condition attribute of CachePut
...
Closes gh-26404
2021-01-19 15:15:38 +01:00
Juergen Hoeller
b0c6e5e322
Polishing
...
(cherry picked from commit c970c318f4 )
2020-12-07 22:09:43 +01:00
Juergen Hoeller
81c1b60f19
Register @Bean definitions as dependent on containing configuration class
...
Closes gh-26167
2020-11-27 21:57:55 +01:00
Juergen Hoeller
50803ce142
Remove misleading default note on ISO.DATE_TIME
...
Closes gh-26134
(cherry picked from commit 86f9716fef )
2020-11-26 15:38:05 +01:00
Juergen Hoeller
dbbedc6c86
Add FullyQualifiedAnnotationBeanNameGenerator.INSTANCE
...
Closes gh-26025
2020-11-05 18:15:29 +01:00
Juergen Hoeller
10bff054a9
Reliably refresh metadata for dynamically changing prototype bean class
...
Closes gh-26019
(cherry picked from commit 412aa06d86 )
2020-11-05 17:50:24 +01:00
Juergen Hoeller
c83f6adc24
Revise event multicaster locking for non-synchronized retriever caching
...
Closes gh-25799
2020-09-25 11:24:26 +02:00
Sam Brannen
f5d36aa47a
Revert use of Map::computeIfAbsent in thread and tx scopes
...
Issues gh-25038 and gh-25618 collectively introduced a regression for
thread-scoped and transaction-scoped beans.
For example, given a thread-scoped bean X that depends on another
thread-scoped bean Y, if the names of the beans (when used as map keys)
end up in the same bucket within a ConcurrentHashMap AND an attempt is
made to retrieve bean X from the ApplicationContext prior to retrieving
bean Y, then the use of Map::computeIfAbsent in SimpleThreadScope
results in recursive access to the same internal bucket in the map.
On Java 8, that scenario simply hangs. On Java 9 and higher,
ConcurrentHashMap throws an IllegalStateException pointing out that a
"Recursive update" was attempted.
In light of these findings, we are reverting the changes made to
SimpleThreadScope and SimpleTransactionScope in commits 50a4fdac6e and
148dc95eb1 .
Closes gh-25801
2020-09-25 11:00:06 +02:00
Juergen Hoeller
c1617d3c52
Polishing
2020-09-18 18:15:36 +02:00
Juergen Hoeller
4b211fb18c
Javadoc refinements
2020-09-07 19:20:26 +02:00
Juergen Hoeller
613b05d814
Properties loading with ignoreResourceNotFound covers SocketException as well
...
Closes gh-25717
2020-09-07 17:51:14 +02:00
Stephane Nicoll
cdfdc340d2
Log cache hit and cache miss for synchronized access
...
Closes gh-25248
2020-09-02 11:29:03 +02:00
Juergen Hoeller
141470ff58
Explicit nullability declarations for getTarget() implementations
2020-09-01 23:26:22 +02:00
Juergen Hoeller
6d9d4157ef
Specifically detect Joda-Time 2.x
...
Closes gh-25655
2020-08-28 19:57:51 +02:00
Juergen Hoeller
cf2e0c7959
Selected use of ArrayList instead of LinkedList in common places
...
See gh-25652
2020-08-27 14:14:44 +02:00
Juergen Hoeller
60fa704f78
Consistent behavior for overloaded @Bean methods with ASM processing
...
Closes gh-25263
2020-08-27 14:13:33 +02:00
Juergen Hoeller
6f0461c569
Polishing
2020-08-25 16:17:22 +02:00
Juergen Hoeller
04df9b8f49
Efficient checks for empty strings and single character matches
...
Closes gh-25552
Closes gh-25553
2020-08-25 16:17:12 +02:00
Juergen Hoeller
0d4040aa63
Avoid potential integer overflow in seconds->millis transformation
...
Closes gh-25613
2020-08-25 16:16:34 +02:00
Sam Brannen
148dc95eb1
Fix regressions in SimpleThreadScope and SimpleTransactionScope
...
PR gh-25038 introduced regressions in SimpleThreadScope and
SimpleTransactionScope in Spring Framework 5.2.7. Specifically, if a
thread-scoped or transaction-scoped bean has a dependency on another
thread-scoped or transaction-scoped bean, respectively, a
ConcurrentModificationException will be thrown on Java 11 or higher.
The reason is that Java 11 introduced a check for concurrent
modification in java.util.HashMap's computeIfAbsent() implementation,
and such a modification can occur when a thread-scoped bean is being
created in order to satisfy a dependency of another thread-scoped bean
that is currently being created.
This commit fixes these regressions by switching from HashMap to
ConcurrentHashMap for the instance maps in SimpleThreadScope and
SimpleTransactionScope.
Closes gh-25618
2020-08-22 23:19:58 +02:00
Sam Brannen
93e5214d01
Revise Javadoc regarding log level for non-static BFPP @Bean method
...
Closes gh-25590
2020-08-16 20:03:46 +02:00
Juergen Hoeller
292f581cdd
Populate dependencies metadata for resolved target behind lazy dependency proxy
...
Closes gh-25562
2020-08-07 21:42:02 +02:00
Juergen Hoeller
8dd285f877
Polishing
2020-08-07 13:02:43 +02:00
Stephane Nicoll
6acbc5093a
Indicate caches should be initialized in SimpleCacheManager
...
Closes gh-22988
2020-08-07 11:01:39 +02:00
Sam Brannen
335c3d5db6
Polish contribution
...
See gh-25445
2020-07-22 17:26:59 +02:00
XenoAmess
ab859fcc96
Refine use of substring operations
...
Closes gh-25445
2020-07-22 17:26:42 +02:00
Juergen Hoeller
7b6924522a
Avoid unnecessarily alarming stack trace logged during scheduler resolution
...
Closes gh-23268
2020-07-19 19:55:19 +02:00
Juergen Hoeller
e9898f7d52
Polishing
2020-07-17 17:48:33 +02:00
Sam Brannen
b769b73960
Improve JavaDoc for ConfigurableApplicationContext.refresh()
...
Closes gh-25380
2020-07-10 15:39:45 +02:00
Juergen Hoeller
e46ccd74b1
Consistent abstract declaration of "Abstract" base classes
...
Closes gh-25240
2020-06-11 23:43:41 +02:00
Juergen Hoeller
ae1ed9d458
Document exception handling limitations in TaskDecorator implementations
...
Closes gh-25231
2020-06-10 22:52:01 +02:00
Juergen Hoeller
196bb6fe32
Support for shared GroovyClassLoader in GroovyScriptFactory
...
Exposes setClassLoader method in ConfigurableApplicationContext interface as obvious first-class configuration option.
Closes gh-25177
2020-06-06 13:21:20 +02:00
Juergen Hoeller
2ff22510d9
Avoid earlyApplicationEvents iteration in case of empty Set
...
Closes gh-25161
2020-05-29 15:50:10 +02:00
Juergen Hoeller
d7161f5e5e
Polishing
2020-05-22 16:23:46 +02:00
Juergen Hoeller
e5c079edfc
Introduce serializeToByteArray/deserializeFromByteArray on (De)Serializer
...
Closes gh-25117
2020-05-22 16:22:59 +02:00
Juergen Hoeller
807ded24c4
Avoid ClassCastException on IllegalArgumentException from sync invocation
...
Closes gh-25110
2020-05-22 16:12:49 +02:00
Juergen Hoeller
06cfd80c1c
Avoid full synchronization in refreshable getBeanFactory() implementation
...
Closes gh-25081
2020-05-18 14:22:24 +02:00
Juergen Hoeller
28177ad91b
Explicit notes on access to standard context beans in SpEL expressions
...
Closes gh-25037
2020-05-18 14:19:05 +02:00
Juergen Hoeller
fe33822fa7
Polishing
2020-05-14 00:23:20 +02:00
Andy Wilkinson
1015f79b42
Include timeout unit in shutdown failure logging
...
Closes gh-25058
2020-05-12 18:42:40 +02:00
Yanming Zhou
50a4fdac6e
Use Map::computeIfAbsent to simplify scope implementations
...
Closes gh-25038
2020-05-10 15:41:00 +02:00
Juergen Hoeller
57f1e86a35
AnnotationBeanNameGenerator caches meta-annotations for stereotype check
...
Closes gh-24980
2020-04-27 13:47:58 +02:00
Juergen Hoeller
73fadd8b7c
Polishing
2020-04-27 11:45:41 +02:00
Juergen Hoeller
127e879726
Store source in index-derived ScannedGenericBeanDefinition as well
...
Includes consistent constructor-level storage of derived resource in ScannedGenericBeanDefinition and ConfigurationClassBeanDefinition.
Closes gh-24978
2020-04-27 11:45:08 +02:00
Sam Brannen
9628038c58
Upgrade to BeanShell 2.0b6
2020-04-07 18:06:43 +02:00
Juergen Hoeller
8595f01e44
Polishing
2020-04-03 21:08:45 +02:00
陈其苗
13970ae528
Use autoboxing instead of explicit wrapping in tests
...
Closes gh-24801
2020-04-01 14:34:20 +02:00