Commit Graph

1730 Commits

Author SHA1 Message Date
Arjen Poutsma
3fcf4233a2 Merge branch '5.1.x' 2019-09-02 15:19:30 +02:00
Arjen Poutsma
f748b1e68d Fix timing bug in DataBufferUtils::readAsynchronousFileChannel
This commit makes sure that reading is enabled after the current
signal has been processed, not while is is being processed. The bug
was only apparent while using the JettyClientHttpConnector, which
requests new elements continuously, even after the end of the
stream has been signalled.
2019-09-02 15:13:22 +02:00
Arjen Poutsma
67d48ed821 Merge branch '5.1.x' 2019-08-29 17:18:22 +02:00
Arjen Poutsma
2c5958e191 Support back pressure in DataBufferUtils::readAsynchronousFileChannel
This commit adds support for back pressure in the ReadCompletionHandler,
as used by DataBufferUtils::readAsynchronousFileChannel.

See gh-23518
2019-08-29 16:34:36 +02:00
OLPMO
ed64a10c38 Use Collections.addAll where feasible
Closes gh-23478
2019-08-29 13:59:14 +02:00
Sebastien Deleuze
77da40f006 Upgrade to Coroutines 1.3.0
Closes gh-23535
2019-08-28 13:30:40 +02:00
stsypanov
78d56dc61b Use Arrays.copyOf and Arrays.copyOfRange where possible
Closes gh-23393
2019-08-27 19:18:39 +02:00
Сергей Цыпанов
6ef75d76cd Simplify String concatenation
Closes gh-23470
2019-08-27 18:22:44 +02:00
Sam Brannen
ad6231ad29 Add missing @Override annotations 2019-08-23 13:50:58 +02:00
Sebastien Deleuze
4d10249b70 Update to Coroutine 1.3.0-RC2
This updates brings full interoperability between Reactor and
Coroutines contexts.

Closes gh-22986
2019-08-19 10:03:01 +02:00
Andrey Kolchanov
6937d95e69 Remove unnecessary semicolon in AnnotatedElementUtils
Closes gh-23477
2019-08-17 15:07:39 +02:00
Juergen Hoeller
9bd3a535cd Avoid UndeclaredThrowableStrategy with 1.8 bytecode level (CGLIB 3.3)
ClassLoaderAwareUndeclaredThrowableStrategy fails with a VerifyError on recent JDKs after the CGLIB 3.3 upgrade. The alternative is to replace it with a plain ClassLoaderAwareGeneratorStrategy (extracted from CglibSubclassingInstantiationStrategy) and custom UndeclaredThrowableException handling in CglibMethodInvocation.

See gh-23453
2019-08-14 00:14:14 +02:00
Juergen Hoeller
4123910d3d Upgrade to CGLIB 3.3
Closes gh-23453
2019-08-12 19:36:06 +02:00
Sam Brannen
6c0e550b86 Polish contribution
See gh-23445
2019-08-10 14:07:15 +02:00
zhuzhuman978
849bbf00b5 Simplify if statements and replace try-finally with try-with-resources
Closes gh-23445
2019-08-10 14:03:18 +02:00
Sam Brannen
a532afb15d Use System.nanoTime() in StopWatch
Prior to this commit, StopWatch used System.currentTimeMillis() to
track and report running time in milliseconds.

This commit updates the internals of StopWatch to use System.nanoTime()
instead of System.currentTimeMillis(). Consequently, running time is
now tracked and reported in nanoseconds; however, users still have the
option to retrieve running time in milliseconds or seconds.

Closes gh-23235
2019-08-07 17:39:42 +02:00
Sam Brannen
24f8d30935 Remove deprecated MergedAnnotations.SearchStrategy.EXHAUSTIVE constant
Closes gh-23391
2019-08-07 12:34:17 +02:00
Sam Brannen
a43ba052e9 Remove unnecessary loop in SerializableTypeWrapper
Since arbitrary levels of proxies do not occur, this commit replaces
the `while` loop in SerializableTypeWrapper.unwrap() with a simple
`if` statement.

Closes gh-23415
2019-08-07 12:24:48 +02:00
Sam Brannen
34767b14da Merge branch '5.1.x' 2019-08-06 18:11:47 +02:00
Sam Brannen
30ebc3b8e2 Remove superfluous AnnotationAttributes#putIfAbsent implementation
Since Java 8, putIfAbsent() is a standard method in java.util.Map. We
therefore no longer need the custom implementation that overrides the
standard implementation in HashMap.
2019-08-06 18:10:13 +02:00
Sam Brannen
a092dc055e Check for instanceof Throwable in AnnotationAttributes#assertNotException
Prior to this commit, AnnotationAttributes#assertNotException checked if
the attribute value was an instance of Exception. Although this was
typically sufficient, the scope was not always broad enough -- for
example, if AnnotationReadingVisitorUtils#convertClassValues stored a
Throwable in the map (such as a LinkageError).

This commit fixes this by checking for an instance of Throwable in
AnnotationAttributes#assertNotException.

Closes gh-23424
2019-08-06 18:06:00 +02:00
Sam Brannen
4d6e359e25 Add missing @deprecated tags for ASM-based annotation search classes 2019-08-05 15:30:06 +02:00
Sam Brannen
82f301f42f Polishing 2019-08-05 15:29:04 +02:00
Sam Brannen
e6ab6c9fe9 Add missing @deprecated tag for AnnotationMetadataReadingVisitor 2019-08-05 14:39:20 +02:00
Sam Brannen
c2f5dabeee Polishing 2019-08-03 00:13:30 +02:00
Sam Brannen
9be327985b Polishing 2019-08-01 23:15:40 +02:00
Sam Brannen
ee2041388b Fix typo in Javadoc for MergedAnnotations 2019-08-01 23:15:39 +02:00
Juergen Hoeller
aebc485eda MethodParameter.equals properly checks overridden containing class
Closes gh-23352
2019-08-01 14:34:39 +02:00
Juergen Hoeller
b67dbe66ef Revise use of ResolvableType in MethodParameter
Includes consistent use of getContainingClass()
2019-08-01 14:25:26 +02:00
Juergen Hoeller
4612544505 Nullability refinements and related polishing 2019-08-01 13:04:46 +02:00
Phillip Webb
1e830f725c Polish firstRunOf javadoc 2019-08-01 08:29:02 +01:00
Phillip Webb
62a3e41473 Deprecate mutable methods of MethodParameter
Deprecate all mutation methods in `MethodParameter` in favor of factory
methods that return a new instance. Existing code that previously relied
on mutation has been updated to use the replacement methods.

Closes gh-23385
2019-08-01 08:05:14 +01:00
Sam Brannen
de3c115614 Fix bug in TYPE_HIERARCHY_AND_ENCLOSING_CLASSES strategy
Prior to this commit, the new `TYPE_HIERARCHY_AND_ENCLOSING_CLASSES`
annotation search strategy failed to find annotations on enclosing
classes if the source class was a nested class that itself had no
annotations present.

This commit fixes this by adding special logic to AnnotationsScanner's
isWithoutHierarchy() method to properly support nested classes.

Closes gh-23378
2019-07-31 22:05:46 +02:00
Phillip Webb
17518ecbbe Add TYPE_HIERARCHY_AND_ENCLOSING_CLASSES strategy
Add a `TYPE_HIERARCHY_AND_ENCLOSING_CLASSES` annotation search strategy
that can be used to search the full type hierarchy as well as any
enclosing classes.

Closes gh-23378
2019-07-31 14:40:40 +01:00
Phillip Webb
a6021cc968 Rename SearchStrategy.EXHAUSTIVE to TYPE_HIERARCHY
Rename `SearchStrategy.EXHAUSTIVE` from `MergedAnnotations` to
`SearchStrategy.TYPE_HIERARCHY`

See gh-23378
2019-07-31 13:52:53 +01:00
Juergen Hoeller
e6f86c5c75 Nullability refinements and related polishing 2019-07-31 13:45:48 +02:00
Phillip Webb
cca32a56a4 Use shared zero length array constants
Update code that's often called so that zero length array results use
a single shared static constant, rather than a new instance for each
call.

Closes gh-23340
2019-07-31 12:22:03 +02:00
Juergen Hoeller
8ef557df2f Merge branch '5.1.x' 2019-07-30 17:34:29 +02:00
Juergen Hoeller
9a36027ae1 MethodParameter.equals checks nesting level and containing class
Closes gh-23352
2019-07-30 16:58:45 +02:00
Sam Brannen
a3c7ae2c58 Polish contribution
See gh-23300
2019-07-24 10:13:29 +02:00
stsypanov
1d6e44ab04 Use StringJoiner where possible to simplify String joining
Closes gh-23300
2019-07-24 10:05:38 +02:00
Sebastien Deleuze
c006a83584 Upgrade to Coroutines 1.3.0-RC
This commit upgrades Coroutines support to kotlinx.coroutines
1.3.0-RC, leverages the new Coroutines BOM and refine Coroutines
detection to avoid false positives.

Only Coroutines to Mono context interoperability is supported
for now.

CLoses gh-23326
2019-07-21 11:27:43 +02:00
Juergen Hoeller
69d3e89814 Polishing 2019-07-20 15:05:49 +02:00
Phillip Webb
be65bef91b Merge branch '5.1.x' 2019-07-20 13:23:37 +01:00
Phillip Webb
e5bef10d85 Fix ResolvableType raw class isAssignable checks
Fix `isAssignable` for `ResolvableType.forRawClass` so that it can be
used with types backed by a `TypeVarible`. Prior to this commit the
rawClass value was used, which wouldn't always work.

Closes gh-23321
2019-07-20 13:23:21 +01:00
Arjen Poutsma
090bfa63a1 Add DataBuffer::toString(Charset)
Closes gh-23317
2019-07-19 12:45:24 +02:00
Arjen Poutsma
c8704ce473 Introduce DataBufferWrapper
This commit introduces the DataBufferWrapper, a wrapper for DataBuffers,
and uses it in applicable use cases.
2019-07-19 12:45:24 +02:00
Juergen Hoeller
7f33344784 Tracking ASM master
See gh-23156
2019-07-17 22:34:39 +02:00
Juergen Hoeller
94e3210ae7 Fix nullability warnings and javadoc-triggered package cycles 2019-07-17 22:34:07 +02:00
Sam Brannen
7779aa3487 Polish contribution
See gh-23297
2019-07-17 16:53:47 +02:00