Commit Graph

779 Commits

Author SHA1 Message Date
Rossen Stoyanchev
19c024f91f Improved logging for @MessageMapping methods
Closes gh-20564
2019-03-12 16:39:26 -04:00
Rossen Stoyanchev
b88aad6b39 Avoid payload conversion if unnecessary
Closes gh-22386
2019-03-12 16:17:39 -04:00
Sam Brannen
7dc522f0d6 Clean up warnings in Gradle build 2019-03-12 19:36:14 +01:00
Juergen Hoeller
ac4c37d8e2 Merge branch '5.1.x' 2019-03-07 18:05:46 +01:00
Juergen Hoeller
6c87ef09c1 Polishing 2019-03-07 17:55:32 +01:00
Juergen Hoeller
17930d6c27 Consistent formatting and related polishing 2019-03-07 17:25:48 +01:00
stsypanov
60b72d721d Polish: do simple clean-up 2019-03-07 16:51:44 +01:00
Sam Brannen
7abe9c6a08 Polishing 2019-03-06 14:22:16 +01:00
Rossen Stoyanchev
9e7f557b4a Updates for buffer management in RSocket
- Integration tests run with zero copy configuration.
- RSocketBufferLeakTests has been added.
- Updates in MessagingRSocket to ensure proper release

See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
23b39ad27b Explicit handling of void return values
Do give HandlerMethodReturnValueHandler's a chance to handle return
values so the RSocket reply header is always set.

See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
fa95b010cb Direct delegation to RSocketMessageHandler
Simplify handling by eliminating the use of a message channel. Instead
MessageHandlerAcceptor now extends from RSocketMessageHandler and
delegates directly to it.

See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
555dca9aff Refactoring in AbstractMethodMessageHandler
Split out the mechanics of invoking a HandlerMethod and handling the
result into a separate helper class.

See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
4e1c0c6826 @MessageExceptionHandler supports error signal
Before this change if a controller method returned a Publisher whose
first signal was an error, the error signal would not be delegated to
a @MessageExceptionHandler method as expected.

To make this work for now we use a package private local copy of the
ChannelSendOperator from spring-web.

See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
d6f4ec8c33 MessagingAcceptor/RSocket refinements + upgrade to 0.11.17
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
8bdd709683 RSocketRequester, RSocketStrategies, PayloadUtils
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
4e78b5df2f RSocket @MessageMapping handling
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
f2bb95ba7b Payload encoding/decoding and handling refinements
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
33682d74c2 ReactiveMessageChannel and ReactiveSubscribableChannel
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
ceccd9fbee Polish
Updates to synchronize with newly created reactive equivalents.
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
5b3b0b1a7b Polish
The package o.s.messaging.handler.annotation.support was missing
@NonnullApi and @NonNullFields. This commit corrects that and also
adds @Nullable to methods and arguments as needed to address
warnings.
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
567c559da8 Resolvers for destination vars and headers
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
dda40c1516 Reactive @MessageMapping
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
421090ca35 Reactive AbstractMessageMethodHandler
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
e3e1ffc986 Encoder/Decoder based payload serialization
See gh-21987
2019-03-04 23:35:43 -05:00
Rossen Stoyanchev
bcf4f3911b Reactive InvocableHandlerMethod in spring-messaging
See gh-21987
2019-03-04 23:35:43 -05:00
Sam Brannen
70cf597484 Remove obsolete overview.html files 2019-03-04 14:07:48 +01:00
Juergen Hoeller
bc0317af3b Merge branch '5.1.x' 2019-02-25 17:57:49 +01:00
Juergen Hoeller
9eb7f7e294 Polishing 2019-02-25 17:36:37 +01:00
Johnny Lim
625e210676 Polish 2019-02-25 12:17:53 +01:00
stsypanov
92053bb84e Some very simple improvements regarding ArrayList 2019-02-15 14:25:13 +01:00
Stephane Nicoll
f5ae288990 Merge branch '5.1.x' 2019-02-08 08:54:18 +01:00
Stephane Nicoll
50e4308779 Polish contribution
Closes gh-22382
2019-02-08 08:48:58 +01:00
Artem Bilan
07bac70c09 Polish warning message
See gh-22382
2019-02-08 08:48:18 +01:00
Sebastien Deleuze
0b9522c84e Migrate Kotlin Mockito tests to Mockk
Closes gh-22345
2019-02-05 15:47:08 +01:00
Rossen Stoyanchev
38ae282c3b Update log category precision for all tests
Replace the full category capped at 36 chars with the class name only
and 1 char per package, e.g. org.apache.commons.Foo -> o.a.c.Foo
2018-12-12 11:40:33 -05:00
Rossen Stoyanchev
24848ec1bc Configurable TcpClient for ReactorNettyTcpClient
Issue: SPR-17523
2018-11-20 21:20:21 -05:00
Juergen Hoeller
ce5c65c0b0 Upgrade to JAXB 2.3.1, Groovy 2.5.4, Jetty 9.4.14, Tomcat 9.0.13
Includes JAX-WS 2.3.1, Awaitility 3.1.3, OkHttp 3.12, Woodstox 5.2.
2018-11-19 12:41:26 +01:00
Hanope
bfb49c7249 Fix typos
See gh-2019
2018-11-19 08:41:21 +01:00
Juergen Hoeller
3a66927bd2 Polishing 2018-11-12 16:43:43 +01:00
Rossen Stoyanchev
ed1d63dcc3 ResolvableMethod copy in spring-messaging src/test 2018-11-08 13:29:21 -05:00
Rossen Stoyanchev
48654c6483 Polish 2018-11-01 14:21:00 -04:00
Rossen Stoyanchev
3f42e16172 Increase sharing among InvocableHandlerMethod variants
In particular between reactive and non-reactive web variants, but
also preparing for a messaing reactive variant.
2018-10-30 17:15:09 -04:00
Rossen Stoyanchev
7c36549e3a Consistent InvocableHandlerMethod implementations
This commit makes the 3 existing InvocableHandlerMethod types more
consistent and comparable with each other.

1. Use of consistent method names and method order.

2. Consistent error formatting.

3. Explicit for loops for resolving argument values in webflux variant
because that makes it more readable, creates less garabage, and it's
the only way to bring consistency since the other two variants cannot
throw exceptions inside Optional lambdas (vs webflux variant which can
wrap it in a Mono).

4. Use package private HandlerMethodArgumentComposite in webflux
variant in order to pick up the resolver argument caching that the
other two variants have.

5. Polish tests.

6. Add missing tests for messaging variant.
2018-10-30 16:36:01 -04:00
Juergen Hoeller
5b5f7190bf Declare InvocableHandlerMethod.getMethodArgumentValues as protected
Issue: SPR-17404
2018-10-18 18:05:07 +02:00
Rossen Stoyanchev
f885910887 Remove unused bom import too 2018-10-15 14:39:20 -04:00
Rossen Stoyanchev
e14cf699c8 Remove unused dependencies from spring-messaging
Tomcat and Jetty integration tests were moved out of spring-messaging
a very long time ago (before 4.0), but the dependencies remained
unnoticed until now.
2018-10-15 14:04:15 -04:00
Rossen Stoyanchev
c01f350abe Move MonoToListenableFutureAdapter to spring-core
This was a package private class in spring-messaging since 5.0, and was
recently made public in 5.1. This commit promotes it to spring-core
where it belongs next to all other ListenableFuture support classes.

Follow-up refactoring for SPR-17336
2018-10-09 16:26:24 -04:00
Rossen Stoyanchev
928c541401 Simplify MonoToListenableFutureAdapter
Collapse the package private AbstractMonoToListenableFutureAdapter into
its only sub-class MonoToListenableFutureAdapter. There is no need for
such an abstract class that makes it possible to adapt from one source
to a different target type. That's already covered by
ListenableFutureAdapter.

Follow-up refactoring for SPR-17336.
2018-10-09 15:22:19 -04:00
Rossen Stoyanchev
bef22ec9b5 Consistent MonoToListenableFutureAdapter.cancel()
Issue: SPR-17336
2018-10-09 14:55:04 -04:00
Juergen Hoeller
e49896d95f Upgrade to Mockito 2.22, XMLUnit 2.6.2, JavaMail 1.6.2
Also includes Apache Johnzon 1.1.9.
2018-09-10 10:52:24 +02:00