Sam Brannen
f0e69e06b7
Ensure that MethodParameter.findParameterIndex() is thread-safe
...
Prior to this commit, parallel invocations of
MethodParameter.findParameterIndex() (invoked indirectly via
SynthesizingMethodParameter.forParameter() and
MethodParameter.forParameter()) could intermittently lead to an
IllegalArgumentException being thrown due to a race condition in the
internal implementation of the JDK's
java.lang.reflect.Executable.getParameters() method.
This commit addresses this issue by introducing a fallback for-loop
that iterates over the candidate parameters a second time using
equality checks instead of identity checks.
Issue: SPR-17534
(cherry-picked from commit 81fde5ec41 )
2018-11-23 17:38:42 +01:00
Juergen Hoeller
39925c334d
Polishing
2018-11-22 20:38:26 +01:00
Juergen Hoeller
e2b74e6943
Polishing
2018-11-22 17:44:29 +01:00
Juergen Hoeller
35da9f1ddf
FastByteArrayOutputStream.read byte-to-int conversion
...
Issue: SPR-17492
2018-11-22 17:43:31 +01:00
Juergen Hoeller
23d1049363
CachingMetadataReaderFactory releases shared cache Map on clearCache()
...
LocalResourceCache properly initializes cacheLimit on construction.
Issue: SPR-17527
(cherry picked from commit 262c702da4 )
2018-11-22 17:42:27 +01:00
Rossen Stoyanchev
f73a5222f1
Ensure client response is drained with onStatus hook
...
Issue: SPR-17473
2018-11-08 22:33:37 -05:00
Juergen Hoeller
8a2262e210
Up-to-date version and link in ASM/CGLIB/Objenesis package javadoc
...
Issue: SPR-14514
Issue: SPR-15600
2018-11-08 17:06:54 +01:00
Juergen Hoeller
c834790135
Deprecate ReflectionUtils.invokeJdbcMethod (for removal in 5.2)
...
Includes deprecation of NON_BRIDGED_METHODS constant.
Issue: SPR-17464
(cherry picked from commit 0a7dcf14f9 )
2018-11-05 22:32:04 +01:00
Juergen Hoeller
d5f725d503
Polishing
...
(cherry picked from commit ffa032e78f )
2018-10-24 21:24:42 +02:00
Juergen Hoeller
110796375b
SpringFactoriesLoader tolerates whitespace around class names
...
Issue: SPR-17413
(cherry picked from commit dd2ce20687 )
2018-10-24 21:24:42 +02:00
Juergen Hoeller
b87ce596a0
Avoid stacktrace if root resource is not resolvable in file system
...
Issue: SPR-17417
(cherry picked from commit 83a54dba7e )
2018-10-24 21:24:42 +02:00
Sebastien Deleuze
73db2081cd
Leverage Java reflection for Kotlin enums
...
As discussed in KT-25165, from a Kotlin POV enum constructors
have no parameter, this is an "implementation detail"
required for running on the JVM, so it seems relevant to skip
Kotlin reflection in that case and just delegate to Java
reflection.
Issue: SPR-16931
2018-10-16 16:42:31 +02:00
Juergen Hoeller
a45bce1369
Polishing
2018-10-10 00:15:58 +02:00
Juergen Hoeller
8d1499e168
Comparators.nullsLow creates right kind of NullSafeComparator
...
Issue: SPR-17357
2018-10-10 00:15:50 +02:00
Juergen Hoeller
ff0afcff06
Resource.lastModified() propagates 0 value if target resource exists
...
Includes consistent use of getContentLengthLong over getContentLength.
Issue: SPR-17320
2018-10-10 00:15:27 +02:00
Juergen Hoeller
53430760f3
Consistent exposure of empty attribute arrays in AnnotationMetadata
...
Issue: SPR-17347
(cherry picked from commit 83909e6e1e )
2018-10-10 00:15:04 +02:00
Juergen Hoeller
d90d65bad2
Polishing
2018-09-29 17:36:15 +02:00
Juergen Hoeller
702d533e6f
Polishing
2018-09-14 23:59:45 +02:00
Juergen Hoeller
1535f985be
Polishing
2018-09-14 14:30:03 +02:00
Arjen Poutsma
952315c333
DataBufferUtils does not release DataBuffer on error cases
...
This commit makes sure that in DataBufferUtils.write, any received data
buffers are returned as part of the returned flux, even when an error
occurs or is received.
Issue: SPR-16782
(cherry picked from commit 1a0522b805 )
2018-09-12 14:58:37 +02:00
Arjen Poutsma
a00607348c
Fixed DataBufferUtils.join leak for error in source
...
This commit fixes an issue where DataBufferUtils.join() would not
release databuffers that preceded an error signal.
Issue: SPR-17025
(cherry picked from commit 196c0adf47 )
2018-09-12 14:45:45 +02:00
Juergen Hoeller
1d58fac54d
UriComponentsBuilder copies query params through MultiValueMap.addAll
...
Issue: SPR-17256
2018-09-11 15:15:15 +02:00
Juergen Hoeller
7653762240
XMLEventReader.getElementText() properly checks for start element
...
Issue: SPR-17233
(cherry picked from commit 84ec382201 )
2018-09-07 13:12:10 +02:00
Sebastien Deleuze
89fca1b949
Fix Kotlin inner class nested configuration handling
...
Before this commit, Kotlin inner class nested configuration
handling thrown an IndexOutOfBoundsException due to bogus filtering
of its constructor parameter reference to an instance of the outer
class.
This commit keep constructor parameter of type INSTANCE in order to
throw a more meaningful NoSuchBeanDefinitionException.
Issue: SPR-17222
2018-09-07 11:42:23 +02:00
Juergen Hoeller
68cf18f4a3
SimpleAliasRegistry.hasAlias properly resolves multiple chained aliases
...
Issue: SPR-17191
(cherry picked from commit 2ac23badee )
2018-08-17 09:58:55 +02:00
Juergen Hoeller
6b3dd0779f
Consistently skip unnecessary search on superclasses and empty elements
...
Issue: SPR-16933
2018-08-15 17:56:03 +02:00
Juergen Hoeller
7894ecf445
Polishing
2018-08-13 14:29:36 +02:00
Juergen Hoeller
0e3f23eeb7
Polishing
2018-08-13 13:42:19 +02:00
Juergen Hoeller
1d8e5f4d85
Revert to Map entry iteration for less expensive static initialization
...
Issue: SPR-17169
(cherry picked from commit df51ff0386 )
2018-08-12 21:02:26 +02:00
Juergen Hoeller
a159dd5993
AbstractAspectJAdvisorFactory uses AnnotationUtils.getValue
2018-08-09 02:07:00 +02:00
Juergen Hoeller
f3184a0878
Polishing
2018-08-09 00:49:54 +02:00
Juergen Hoeller
688ef9ad46
Find annotations on implemented generic superclass methods as well
...
Includes Java 8 getDeclaredAnnotation shortcut for lookup on Class.
Issue: SPR-17146
(cherry picked from commit 4521a79b2d )
2018-08-09 00:49:46 +02:00
Kazuhiro Sera
a80f4caf37
Fix typos detected by github.com/client9/misspell
...
(cherry picked from commit be211ceead )
2018-08-09 00:49:27 +02:00
Juergen Hoeller
a45ef35b38
Pruning of outdated JDK 6/7 references (plus related polishing)
...
(cherry picked from commit b325c74216 )
2018-08-07 21:08:26 +02:00
Juergen Hoeller
4042c1d578
Polishing
2018-08-07 02:12:00 +02:00
Juergen Hoeller
34052945de
Avoid unnecessary annotation introspection on framework methods
...
Issue: SPR-16933
2018-08-07 02:11:54 +02:00
Rossen Stoyanchev
6562e3047f
takeUntilByteCount actually uses takeUntil
...
Issue: SPR-17188
2018-08-02 21:20:20 +03:00
Rossen Stoyanchev
0d0a0a2d08
Polish
2018-08-02 21:20:08 +03:00
Juergen Hoeller
55e8aea2a3
Polishing
2018-08-01 12:35:01 +02:00
Juergen Hoeller
77e75fdf87
Avoid synthesizable annotation creation for @Bean/@Scope on scanning
...
Includes consistent (non-)use of AnnotationUtils/AnnotatedElementUtils.
Issue: SPR-16933
2018-08-01 12:18:10 +02:00
Juergen Hoeller
fd75600c26
Polishing
2018-07-31 21:37:40 +02:00
Juergen Hoeller
a4be54d760
Avoid synthesizable check for common annotation types
...
This revision immediately returns false from isSynthesizable for java.lang.annotation types.
Issue: SPR-16933
2018-07-31 21:37:34 +02:00
Juergen Hoeller
91fa2ed0d4
Initialize pre-filled HashMaps with large enough capacity
...
Empty Maps are preferably initialized without capacity (not initializing them at all or lazily initializing with default capacity when needed).
Issue: SPR-17105
(cherry picked from commit 4a147d26fc )
2018-07-30 22:33:04 +02:00
Juergen Hoeller
c89fb745f7
ListBasedXMLEventReader uses defensive modifiable copy of given List
...
(cherry picked from commit 9ab63b8494 )
2018-07-25 19:06:55 +02:00
Juergen Hoeller
e21db2619b
AspectJExpressionPointcut leniently ignores non-composable interfaces
...
Issue: SPR-17003
(cherry picked from commit bccff73 )
2018-07-22 22:35:32 +02:00
Juergen Hoeller
f5dd4d2c02
Polishing
2018-07-22 19:33:40 +02:00
Juergen Hoeller
c3f6403f61
Polishing
2018-07-20 16:45:17 +02:00
Juergen Hoeller
0c5c3103c6
ReflectiveMethodExecutor skips interface search (plus related polishing)
2018-07-19 16:51:13 +02:00
Juergen Hoeller
4d3a899a53
OrderUtils caches order values (for AnnotationAwareOrderComparator)
...
Issue: SPR-17064
(cherry picked from commit d0bbbf4 )
2018-07-19 13:24:43 +02:00
Juergen Hoeller
b72594d799
Find annotations on implemented generic interface methods as well
...
Issue: SPR-16060
(cherry picked from commit 23d4862 )
2018-07-18 19:56:00 +02:00