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
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
Rossen Stoyanchev
9c7b4ff9ba
Public method to register RSocket handler methods
...
Closes gh-25639
2020-08-27 10:50:30 +01:00
Juergen Hoeller
874574513c
Replace remaining usage of LinkedList with ArrayList/ArrayDeque
...
Closes gh-25650
2020-08-26 18:32:08 +02:00
Juergen Hoeller
ff11467a0c
Avoid resizing of fixed-size HashMap/LinkedHashMap variants
...
Closes gh-25349
2020-08-25 19:26:18 +02:00
Sam Brannen
13183c89ce
Update tests due to deprecations in Reactor
2020-08-12 13:46:32 +02:00
Sam Brannen
c558391e2c
Declare interfaces as @FunctionalInterface where feasible
...
This commit declares each of the following public interfaces as a
@FunctionalInterface.
- org.springframework.context.ApplicationContextInitializer
- org.springframework.test.web.servlet.DispatcherServletCustomizer
- org.springframework.validation.MessageCodeFormatter
- org.springframework.util.IdGenerator
- org.springframework.beans.factory.config.YamlProcessor.MatchCallback
- org.springframework.beans.factory.config.YamlProcessor.DocumentMatcher
Closes gh-25580
2020-08-11 17:01:03 +02:00
Sam Brannen
596936f18c
Polishing
2020-08-11 16:42:18 +02:00
Sam Brannen
e0d79f5dbb
Merge branch '5.2.x'
2020-08-10 11:36:19 +02:00
Sam Brannen
bd65762582
Polish Javadoc for MessagePostProcessor interfaces
...
See gh-25571
2020-08-10 11:26:41 +02:00
Philippe Marschall
6a7e58ac82
Add @FunctionalInterface to MessagePostProcessor
...
Add the @FunctionalInterface annotation to the MessagePostProcessor
interfaces in the spring-jms and spring-messaging projects.
Closes gh-25571
2020-08-10 11:19:35 +02:00
Brian Clozel
88ccab8f13
Revert timeout inscreases in STOMP tests
...
This change is not fixing tests but rather increasing their duration, so
we're reverting this change as a result.
2020-08-08 16:39:56 +02:00
Brian Clozel
3c832f0ec8
Upgrade ActiveMQ and extend timeout in STOMP tests
2020-08-08 11:44:16 +02:00
Brian Clozel
617ec359bd
Update after MonoProcessor deprecation in Reactor
...
This commit adapts the usage of `MonoProcessor` after deprecations
introduced in reactor/reactor-core#1053
2020-08-07 18:59:21 +02:00
Juergen Hoeller
f4c0ceb1cc
Merge branch '5.2.x'
...
# Conflicts:
# build.gradle
# spring-tx/src/main/java/org/springframework/dao/support/PersistenceExceptionTranslationInterceptor.java
# spring-web/src/main/java/org/springframework/web/bind/support/WebRequestDataBinder.java
# spring-webmvc/src/main/java/org/springframework/web/servlet/HandlerExecutionChain.java
# spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java
2020-08-07 13:15:36 +02:00
Juergen Hoeller
8dd285f877
Polishing
2020-08-07 13:02:43 +02:00
Brian Clozel
5bdbbdfcfb
Require RSocket 1.0+
...
This commit removes the previously deprecated classes in Spring
Framework 5.2.x. By doing so, Spring Framework now requires RSocket
1.0+.
Closes gh-25548
2020-08-06 14:45:38 +02:00
Brian Clozel
b6d2a2980d
Update for Reactor API changes
2020-08-05 13:31:39 +02:00
Sébastien Deleuze
5c456db3cc
Upgrade to Kotlin 1.4 RC
...
- The compiler is configured to retain compatibility with Kotlin 1.3.
- Explicit API mode is not yet enabled but could be in the future.
- Some exceptions thrown by Kotlin have changed to NullPointerException,
see https://youtrack.jetbrains.com/issue/KT-22275 for more details.
Closes gh-24171
2020-07-30 10:18:33 +02:00
XenoAmess
ab859fcc96
Refine use of substring operations
...
Closes gh-25445
2020-07-22 17:26:42 +02:00
XenoAmess
edfc6c0293
Refine use of substring operations
...
Closes gh-25445
2020-07-22 16:28:58 +02:00
Rossen Stoyanchev
9fe1feea9a
Provide access to underlying RSocketClient
...
The recently introduced support for RSocketClient in commit
7c98251142
did not expose the underlying
client in order to avoid a hard dependency on RSocket 1.1 for the time
being. However such access appears to be necessary, e.g. for Spring
Integration, where the connection needs to be established (warmed up)
ahead of actual requests.
See gh-25332
2020-07-22 14:57:33 +03:00
Rossen Stoyanchev
f9ba58eab9
Match subscriptions to remove by id
...
Commit 524ca1a676
unintentionally changed
how subscriptions to be removed are matched. This commit restores that.
See gh-25298
2020-07-22 13:22:29 +03:00
XenoAmess
e71f702bb9
Use `static private` instead of `private static` for method declarations
...
Closes gh-25452
2020-07-21 18:26:28 +02:00
Rossen Stoyanchev
b451379c2f
Update eviction queue before size
...
See gh-25298
2020-07-16 17:28:32 +03:00
Rossen Stoyanchev
44f1f94f97
Polishing contribution
...
Renaming, trimming of method parameters, minor refactoring of helper
methods, comments, etc. Completely functionally neutral.
See gh-25298
2020-07-16 17:28:32 +03:00
Tomas Drabek
524ca1a676
DefaultSubscriptionRegistry: Reduced thread contention
...
* DestinationCache is now synchronized on multiple 'destination' locks
(previously a single shared lock)
* DestinationCache keeps destinations without any subscriptions
(previously such destinations were recomputed over and over)
* SessionSubscriptionRegistry is now a
'sessionId -> subscriptionId -> (destination,selector)' map
for faster lookups
(previously 'sessionId -> destination -> set of (subscriptionId,selector)')
closes gh-24395
2020-07-16 17:28:32 +03:00
Rossen Stoyanchev
7c98251142
Support for making requests via RSocketClient
...
Closes gh-25332
2020-07-14 12:07:59 +03:00
Rossen Stoyanchev
5e1b6e3386
Merge branch '5.2.x'
2020-07-01 08:07:56 +01:00
Rossen Stoyanchev
b2a4d1c5b1
Avoid re-creating connect Mono<RSocket>
...
Closes gh-25330
2020-07-01 08:02:03 +01:00
Rossen Stoyanchev
b16f6fa456
Shared static instance of DefaultDataBufferFactory
2020-06-24 16:12:56 +01:00
Sam Brannen
b33d2fe683
Clean up warnings in Gradle build, polishing, etc.
2020-06-24 15:02:24 +02:00
Rossen Stoyanchev
22bf62def1
Replace remaining use of deprecated Processors in tests
...
See gh-25085
2020-06-23 20:29:35 +01:00
Rossen Stoyanchev
734f4a4706
Replace of ReplayProcessor in RSocket tests
...
See gh-25085
2020-06-23 14:25:16 +01:00
Rossen Stoyanchev
7cf1ccc415
Use MonoProcessor instead of FluxIdentityProcessor
...
We just need to signal completion when close() is called. MonoProcessor
should suffice and we can avoid a hard dependency on Reactor 3.4.
See gh-25085
2020-06-22 05:46:25 +01:00
Sam Brannen
ab0e651547
Polish SerializationTestUtils, clean up warnings, etc.
2020-06-20 18:17:03 +02:00
Brian Clozel
7391f9b392
Fix Reactor Core DirectProcessor deprecation
...
As of reactor/reactor-core#2188 , `DirectProcessor` variants are
deprecated. This commit replaces them with the new
`FluxIdentityProcessor` variant.
See gh-25085
2020-06-19 22:13:15 +02:00
Sébastien Deleuze
6b355df903
Revert "Upgrade to Kotlin 1.4 M2"
...
This reverts commit 2a74eff10f
.
Some regressions require to wait at least Kotlin 1.4 M3.
2020-06-18 14:06:39 +02:00
Сергей Цыпанов
7949937655
Remove redundant assignment of default values to volatile fields
2020-06-17 10:50:51 +02:00
Sébastien Deleuze
2a74eff10f
Upgrade to Kotlin 1.4 M2
...
- The compiler is configured to retain compatibility with Kotlin 1.3.
- Explicit API mode is not yet enabled but could be in the future.
- A workaround for Gradle build is required for now, see
https://youtrack.jetbrains.com/issue/KT-39610 for more details.
- Some exceptions thrown by Kotlin have changed to NullPointerException,
see https://youtrack.jetbrains.com/issue/KT-22275 for more details.
Closes gh-24171
2020-06-16 15:21:57 +02:00
Rossen Stoyanchev
1d0fe1223d
Fix checkstyle violation
2020-06-09 11:47:05 +01:00
Rossen Stoyanchev
b48ddef4c6
Upgrade to RSocket 1.0.1
2020-06-09 08:59:55 +01:00
Rossen Stoyanchev
6d6269f1ee
Switch to Reactor 2020.0.0 snapshots
...
A switch to RSocket 1.0.1 snapshots is also required to pick up a
for froward compatibility with Reactor Netty 1.0.
See gh-25085
2020-05-29 15:14:01 +01:00
Juergen Hoeller
9999414b3b
Merge branch '5.2.x'
2020-05-18 14:24:33 +02:00
Juergen Hoeller
c35b21b49f
Consistent not-null assertions for configured interceptors
...
Closes gh-25088
2020-05-18 14:23:05 +02:00
Rossen Stoyanchev
b1224835be
Add metadataPush support to RSocketRequester
...
Closes gh-24322
2020-05-14 15:42:43 +01:00
Rossen Stoyanchev
ef27bc4b82
Upgrade to RSocket 1.0.0
...
Closes gh-25053
2020-05-12 12:00:06 +01:00
Rossen Stoyanchev
71d384f1f8
Upgrade to RSocket 1.0.0
...
Closes gh-25053
2020-05-12 11:46:13 +01:00
Rossen Stoyanchev
7f59381c7d
Add support for RxJava 3
...
Closes gh-24170
2020-05-11 08:48:48 +01:00
Rossen Stoyanchev
2002a1689a
Adapt test to changes in RSocket Java
...
See gh-24934
2020-04-25 07:11:34 +01:00
Sam Brannen
5eba1ae73c
Avoid deprecation warning in DefaultRSocketRequesterBuilderTests
2020-04-22 19:19:34 +02:00
Rossen Stoyanchev
1904e9b7e7
Disable failing test temporarily
2020-04-20 10:16:40 +01:00
Rossen Stoyanchev
ed8c61a852
Upgrade to RSocket 1.0 RC7 snapshots
2020-04-20 09:42:28 +01:00
Sébastien Deleuze
3c354a9b18
Avoid using Mockito argument matcher in Mockk test
2020-04-07 16:38:09 +02:00
陈其苗
13970ae528
Use autoboxing instead of explicit wrapping in tests
...
Closes gh-24801
2020-04-01 14:34:20 +02:00
Rossen Stoyanchev
95ef9c25c2
Reduce byte[] allocations in StompEncoder
...
Closes gh-24694
2020-03-31 12:56:10 +01:00
Sam Brannen
e26764d249
Remove duplicate words in documentation and polish Javadoc
2020-03-31 12:17:58 +02:00
Sam Brannen
9e30620ac2
Polish contribution
...
See gh-24805
2020-03-30 13:47:00 +02:00
Сергей Цыпанов
e63d1cf12d
Improve usage of ByteArrayOutputStream/ByteArrayInputStream
...
Closes gh-24805
2020-03-30 13:22:21 +02:00
Qimiao Chen
7c831d2ef4
Replace anonymous inner classes with lambdas in tests
...
Closes gh-24808
2020-03-30 12:02:23 +02:00
Rossen Stoyanchev
3175f0771e
Remove dumpString from DataBufferTestUtils
...
See gh-24786
2020-03-26 21:42:12 +00:00
Sam Brannen
6222efc54b
Polish contribution
...
See gh-24785
2020-03-26 16:52:24 +01:00
Сергей Цыпанов
65aa2d03f0
Simplify conversion of ByteArrayOutputStream to String
...
Closes gh-24785
2020-03-26 16:52:14 +01:00
Qimiao Chen
09b36380cd
Fix typos in source files
...
Closes gh-24746
2020-03-20 20:06:52 +01:00
Rossen Stoyanchev
7efb62091d
MessagingRSocket correctly handles unconsumed input
...
Closes gh-24741
2020-03-20 10:03:56 +00:00
Rossen Stoyanchev
5b27df772a
Suppress deprecation warning
...
See gh-24725
2020-03-19 07:21:21 +00:00
Sam Brannen
a8feb792da
Fix broken Javadoc links
2020-03-16 16:30:27 +01:00
Rossen Stoyanchev
4aedf2ea13
MetadataEncoder expands vars correctly
...
Closes gh-24656
2020-03-12 11:35:08 +00:00
ZhangT
c5fb7b9fb7
Simplify some redundant code
...
Closes gh-24586
Co-authored-by: Sam Brannen <sbrannen@pivotal.io>
2020-02-26 12:29:09 +01:00
Hyunjin Choi
ede2a1d4b2
Remove unnecessary semicolon in some enum classes
2020-02-24 14:56:12 +01:00
Rossen Stoyanchev
28a95e89f3
Upgrade to Dysprosium SR5 snapshots
...
See gh-24355
2020-02-11 12:52:04 +00:00
Rossen Stoyanchev
3c0c0c0597
Fix issue with new line handling in StompDecoder
...
Closes gh-23713
2020-01-16 14:54:10 +00:00