Juergen Hoeller
b25637e8ad
Make setTaskScheduler and setTcpClient chaining-friendly
...
Closes gh-26049
2020-11-09 13:32:34 +01:00
Juergen Hoeller
0aa3205e38
Fix nullability warnings
2020-10-26 22:19:26 +01:00
Sébastien Deleuze
3f01af6f7c
Add kotlinx.serialization JSON support to Spring Messaging
...
Closes gh-25883
2020-10-26 20:10:54 +01:00
Sébastien Deleuze
efe933ad83
Polish Coroutines detection
2020-10-25 18:33:57 +01:00
Rossen Stoyanchev
51fb49be34
Correct outdated error message
2020-10-23 17:05:00 +01:00
Juergen Hoeller
621295dbd8
Deprecate StringUtils.isEmpty(Object) and replace remaining usage
...
Closes gh-25945
2020-10-21 16:09:26 +02:00
Brian Clozel
bd91dc70d5
Merge branch '5.2.x'
2020-10-20 15:41:02 +02:00
Brian Clozel
7bee3d1574
Optimize Jackson resource management in codecs
...
Prior to this commit, references to `JsonGenerator` and
`ByteArrayBuilder` were not closed/released within codecs calls.
This prevents Jackson from reusing more efficiently shared memory
resources.
This commit properly closes/releases Jackson resources in Spring MVC,
Spring WebFlux and Spring Messaging codecs.
A benchmark on WebFlux codecs (in both single value/streaming mode)
shows significant throughput and allocation improvements for small
payloads.
Closes gh-25910
2020-10-20 15:36:23 +02:00
Rossen Stoyanchev
bfb2ce6e2a
SimpUser exposes Principal
...
Closes gh-25191
2020-10-19 21:40:09 +01:00
Rossen Stoyanchev
76eb5e6e2c
Use of TcpClient extensible per connection
...
Closes gh-25889
2020-10-19 21:40:09 +01:00
Rossen Stoyanchev
6f131ba1c4
Polishing
2020-10-19 13:10:56 +01:00
Rossen Stoyanchev
d18fbab7a8
Heartbeat in lieu of non-broker destination message
...
Closes gh-22822
2020-10-19 13:06:30 +01:00
Sébastien Deleuze
3ed8813bbf
Upgrade to Coroutines 1.4.0-M1 and use awaitSingle()
...
This commit raises the minimum Coroutines version supported
to 1.4.0-M1 and above, and changes usages of awaitFirst() or
awaitFirstOrNull() to awaitSingle() or awaitSingleOrNull()
to fix gh-25007.
Closes gh-25914
Closes gh-25007
2020-10-13 15:26:39 +02:00
Juergen Hoeller
a6e48811c0
Compatibility with Jackson 2.12 (tested against 2.12.0-rc1)
...
Closes gh-25907
2020-10-13 11:04:55 +02:00
Juergen Hoeller
e9cd37a4ee
Merge branch '5.2.x'
...
# Conflicts:
# spring-webflux/src/main/java/org/springframework/web/reactive/result/method/InvocableHandlerMethod.java
2020-10-13 00:25:04 +02:00
Juergen Hoeller
f3f19504c6
Polishing
2020-10-13 00:21:07 +02:00
Juergen Hoeller
a9d458f5fc
Merge branch '5.2.x'
2020-10-12 19:54:21 +02:00
Juergen Hoeller
e176c4e799
Polishing
2020-10-12 19:40:50 +02:00
Juergen Hoeller
ca2b412905
Merge branch '5.2.x'
2020-10-12 18:36:35 +02:00
Juergen Hoeller
66a67ec807
Polishing
2020-10-12 18:26:14 +02:00
Juergen Hoeller
50b9542402
Apply handleMissingValue in case of null conversion result as well
...
Closes gh-23939
2020-10-12 18:07:17 +02:00
Rossen Stoyanchev
809851c0fe
Replace MonoProcessor with AtomicRef for RSocket RESPONSE_HEADER
...
See gh-25884
2020-10-12 11:55:20 +01:00
Rossen Stoyanchev
5b1b20c8c0
Polishing and minor refactoring
...
See gh-25884
2020-10-12 11:55:20 +01:00
Rossen Stoyanchev
e73e489fd8
Remove use of MonoProcessor.fromSinks
...
See gh-25884
2020-10-09 20:46:21 +01:00
Sébastien Deleuze
cdd48ddd7f
Improve Coroutines support consistency
2020-10-09 12:51:08 +02:00
Sébastien Deleuze
94a42a3086
Support suspending handler methods in Spring MVC
...
This commit adds support for Kotlin Coroutines suspending functions to
Spring MVC, by converting those to a Mono that can then be handled by
the asynchronous request processing feature.
It also optimizes Coroutines detection with the introduction of an
optimized KotlinDetector.isSuspendingFunction() method that does not
require kotlin-reflect.
Closes gh-23611
2020-10-09 12:25:32 +02:00
Сергей Цыпанов
8a04910bdd
Drop explicit zeroing at instantiation of Atomic* objects
2020-10-06 15:45:12 +02:00
Juergen Hoeller
b7e1553c9d
Merge branch '5.2.x'
...
# Conflicts:
# build.gradle
# spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBuilder.java
2020-10-06 15:37:54 +02:00
Juergen Hoeller
f83bb7183e
Polishing
2020-10-06 15:31:34 +02:00
Rossen Stoyanchev
dfb7ca733a
Merge branch '5.2.x' into master
2020-09-30 22:10:42 +01:00
Rossen Stoyanchev
86f2ebec1b
Fix recursion issue caused by previous commit
...
See gh-25821
2020-09-30 22:03:46 +01:00
Rossen Stoyanchev
7ad60d385b
Fix issue with copying headers in NativeMessageHeaderAccessor
...
Closes gh-25821
2020-09-30 21:42:26 +01:00
Rossen Stoyanchev
4b9c3fa739
Polishing Javadoc
...
See gh-25821
2020-09-30 21:42:26 +01:00
Juergen Hoeller
6c631e3d5c
Merge branch '5.2.x'
...
# Conflicts:
# spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java
2020-09-25 11:36:18 +02:00
Juergen Hoeller
6e4fcb69f0
Polishing
2020-09-25 11:26:01 +02:00
Juergen Hoeller
214bc407b4
Provide Gson/JSON-B MessageConverter for spring-messaging (aligned with spring-web)
...
Closes gh-21496
2020-09-25 10:48:25 +02:00
Juergen Hoeller
bbe74635eb
Merge branch '5.2.x'
2020-09-18 18:16:33 +02:00
Juergen Hoeller
9dfef59af2
Construct StringWriter instances with appropriate initial size
...
Closes gh-25789
2020-09-18 18:14:57 +02:00
Rossen Stoyanchev
29885e2b9f
Upgrade to RSocket 1.1-M2 and Reactor 2020.0.0-RC1
...
Closes gh-25729
Closes gh-25728
2020-09-14 20:12:04 +01:00
Brian Clozel
b2a0978c12
Prepare for Sinks API updates in Reactor
...
See reactor/reactor-core#2374
All usages of this API are in tests, which are not checking overflow or
concurrent emissions - so a simple replacement with `try***` equivalents
is fine.
2020-09-11 16:34:31 +02:00
Brian Clozel
b61d0584a9
Update after RSocket SNAPSHOT changes
2020-09-11 13:45:22 +02:00
Rossen Stoyanchev
30d556b9ef
Support for LoadbalanceRSocketClient
...
Closes gh-25333
2020-09-07 16:31:12 +01:00
Rossen Stoyanchev
71ecca7443
DefaultRSocketRequesterBuilder internal refactoring
2020-09-07 13:48:27 +01:00
Rossen Stoyanchev
8c2852607d
Switch to Reactor and RSocket snapshots
2020-09-07 13:30:28 +01:00
Rossen Stoyanchev
bb941b6180
OrderedMessageChannelDecorator doesn't preclude send limits
...
Closes gh-25581
2020-08-28 20:40:55 +01:00
Rossen Stoyanchev
f4f1abb27a
Revert "OrderedMessageSender throughput improvement"
...
This reverts commit f5c287a6e6
.
See gh-25581
2020-08-28 09:43:51 +01:00
Rossen Stoyanchev
f98719902b
Revert "Polishing OrderedMessageSender"
...
This reverts commit d014d88937
.
See gh-25581
2020-08-28 09:43:01 +01: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
Rossen Stoyanchev
d014d88937
Polishing OrderedMessageSender
...
See gh-25581
2020-08-27 13:08:41 +01:00
Rossen Stoyanchev
f5c287a6e6
OrderedMessageSender throughput improvement
...
Before this change messages were sent serially across sessions but
ordering is important only within a session. This leads to head of
line blocking when a session is slow to send, and also enforcement of
send buffer size and time limits is precluded because it happens at
a lower level in the transport.
This change ensures messages are held up only if there is another
from the same session is being sent. This allows messages from each
session to flow independent of other.
See gh-25581
2020-08-27 13:08:41 +01:00