Juergen Hoeller
9f1e822f3e
Polishing
5 years ago
Juergen Hoeller
b4baa86bfa
Close mapping streams after the ValidatorFactory has been built
...
Closes gh-26418
5 years ago
Juergen Hoeller
27c5480c82
Fail early FactoryBean instantiation for LinkageError
...
Closes gh-26425
(cherry picked from commit defc2466b0 )
5 years ago
Stephane Nicoll
271a9097ac
Clarify behaviour of condition attribute of CachePut
...
Closes gh-26404
5 years ago
Juergen Hoeller
b0c6e5e322
Polishing
...
(cherry picked from commit c970c318f4 )
5 years ago
Juergen Hoeller
81c1b60f19
Register @Bean definitions as dependent on containing configuration class
...
Closes gh-26167
5 years ago
Juergen Hoeller
50803ce142
Remove misleading default note on ISO.DATE_TIME
...
Closes gh-26134
(cherry picked from commit 86f9716fef )
5 years ago
Juergen Hoeller
dbbedc6c86
Add FullyQualifiedAnnotationBeanNameGenerator.INSTANCE
...
Closes gh-26025
5 years ago
Juergen Hoeller
10bff054a9
Reliably refresh metadata for dynamically changing prototype bean class
...
Closes gh-26019
(cherry picked from commit 412aa06d86 )
5 years ago
Juergen Hoeller
c83f6adc24
Revise event multicaster locking for non-synchronized retriever caching
...
Closes gh-25799
6 years ago
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
6 years ago
Juergen Hoeller
c1617d3c52
Polishing
6 years ago
Juergen Hoeller
4b211fb18c
Javadoc refinements
6 years ago
Juergen Hoeller
613b05d814
Properties loading with ignoreResourceNotFound covers SocketException as well
...
Closes gh-25717
6 years ago
Stephane Nicoll
cdfdc340d2
Log cache hit and cache miss for synchronized access
...
Closes gh-25248
6 years ago
Juergen Hoeller
141470ff58
Explicit nullability declarations for getTarget() implementations
6 years ago
Juergen Hoeller
6d9d4157ef
Specifically detect Joda-Time 2.x
...
Closes gh-25655
6 years ago
Juergen Hoeller
cf2e0c7959
Selected use of ArrayList instead of LinkedList in common places
...
See gh-25652
6 years ago
Juergen Hoeller
60fa704f78
Consistent behavior for overloaded @Bean methods with ASM processing
...
Closes gh-25263
6 years ago
Juergen Hoeller
6f0461c569
Polishing
6 years ago
Juergen Hoeller
04df9b8f49
Efficient checks for empty strings and single character matches
...
Closes gh-25552
Closes gh-25553
6 years ago
Juergen Hoeller
0d4040aa63
Avoid potential integer overflow in seconds->millis transformation
...
Closes gh-25613
6 years ago
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
6 years ago
Sam Brannen
93e5214d01
Revise Javadoc regarding log level for non-static BFPP @Bean method
...
Closes gh-25590
6 years ago
Juergen Hoeller
292f581cdd
Populate dependencies metadata for resolved target behind lazy dependency proxy
...
Closes gh-25562
6 years ago
Juergen Hoeller
8dd285f877
Polishing
6 years ago
Stephane Nicoll
6acbc5093a
Indicate caches should be initialized in SimpleCacheManager
...
Closes gh-22988
6 years ago
Sam Brannen
335c3d5db6
Polish contribution
...
See gh-25445
6 years ago
XenoAmess
ab859fcc96
Refine use of substring operations
...
Closes gh-25445
6 years ago
Juergen Hoeller
7b6924522a
Avoid unnecessarily alarming stack trace logged during scheduler resolution
...
Closes gh-23268
6 years ago
Juergen Hoeller
e9898f7d52
Polishing
6 years ago
Sam Brannen
b769b73960
Improve JavaDoc for ConfigurableApplicationContext.refresh()
...
Closes gh-25380
6 years ago
Juergen Hoeller
e46ccd74b1
Consistent abstract declaration of "Abstract" base classes
...
Closes gh-25240
6 years ago
Juergen Hoeller
ae1ed9d458
Document exception handling limitations in TaskDecorator implementations
...
Closes gh-25231
6 years ago
Juergen Hoeller
196bb6fe32
Support for shared GroovyClassLoader in GroovyScriptFactory
...
Exposes setClassLoader method in ConfigurableApplicationContext interface as obvious first-class configuration option.
Closes gh-25177
6 years ago
Juergen Hoeller
2ff22510d9
Avoid earlyApplicationEvents iteration in case of empty Set
...
Closes gh-25161
6 years ago
Juergen Hoeller
d7161f5e5e
Polishing
6 years ago
Juergen Hoeller
e5c079edfc
Introduce serializeToByteArray/deserializeFromByteArray on (De)Serializer
...
Closes gh-25117
6 years ago
Juergen Hoeller
807ded24c4
Avoid ClassCastException on IllegalArgumentException from sync invocation
...
Closes gh-25110
6 years ago
Juergen Hoeller
06cfd80c1c
Avoid full synchronization in refreshable getBeanFactory() implementation
...
Closes gh-25081
6 years ago
Juergen Hoeller
28177ad91b
Explicit notes on access to standard context beans in SpEL expressions
...
Closes gh-25037
6 years ago
Juergen Hoeller
fe33822fa7
Polishing
6 years ago
Andy Wilkinson
1015f79b42
Include timeout unit in shutdown failure logging
...
Closes gh-25058
6 years ago
Yanming Zhou
50a4fdac6e
Use Map::computeIfAbsent to simplify scope implementations
...
Closes gh-25038
6 years ago
Juergen Hoeller
57f1e86a35
AnnotationBeanNameGenerator caches meta-annotations for stereotype check
...
Closes gh-24980
6 years ago
Juergen Hoeller
73fadd8b7c
Polishing
6 years ago
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
6 years ago
Juergen Hoeller
8595f01e44
Polishing
6 years ago
陈其苗
13970ae528
Use autoboxing instead of explicit wrapping in tests
...
Closes gh-24801
6 years ago
Sam Brannen
01cf0a3d4e
Polish MBeanClientInterceptorTests and recover two lost tests
...
Two test methods were missing the @Test annotation after the migration
from JUnit 3 to JUnit 4.
6 years ago