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
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
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
Sam Brannen
a8fbac8472
Polish JavaDoc
...
Issue: SPR-17174
2018-08-18 18:15:05 +02:00
Juergen Hoeller
84300b796c
Fix recent javadoc errors
...
Issue: SPR-17174
2018-08-16 18:51:31 +02:00
Juergen Hoeller
dc55da0988
Polishing
2018-08-16 13:02:27 +02:00
Juergen Hoeller
2ec8fa9cac
SmartLifecycle default methods for auto-startup in default phase
...
Issue: SPR-17188
2018-08-16 12:08:02 +02:00
Rossen Stoyanchev
430065c31d
Order property for SimpUserRegistry
...
Issue:SPR-17142
2018-08-13 11:56:34 +03:00
Sam Brannen
cfb1ed1009
Clean up warnings and delete dead code
2018-08-12 15:55:11 +02:00
Juergen Hoeller
247ec572b2
Consistent hasAnnotation check for findMergedAnnotation lookup
...
Issue: SPR-16933
2018-08-08 23:54:56 +02:00
Juergen Hoeller
589b7048ec
Avoid synthesizable annotation creation for @Bean/@Scope processing
...
Includes consistent (non-)use of AnnotationUtils/AnnotatedElementUtils.
Issue: SPR-16933
2018-08-01 11:43:28 +02:00
Juergen Hoeller
4a147d26fc
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
2018-07-30 22:07:31 +02:00
Juergen Hoeller
3881a4aded
Polishing
2018-07-25 14:16:02 +02:00
Juergen Hoeller
fd8e4abe5d
Introduce ResolvableType.toClass() shortcut
...
Issue: SPR-17086
2018-07-25 14:15:19 +02:00
Juergen Hoeller
90d395edcf
Polishing
2018-07-24 22:18:12 +02:00
Juergen Hoeller
02403f6a34
Polishing
2018-07-24 21:44:43 +02:00
Juergen Hoeller
fac2e35f96
Refactor util.log.LogUtils into core.log.LogDelegateFactory
...
Issue: SPR-17012
2018-07-24 14:44:34 +02:00
Rossen Stoyanchev
7500b144ae
Option to preserve publish order
...
Issue: SPR-13989
2018-07-23 23:24:39 -04:00
Juergen Hoeller
1b09718104
Polishing
2018-07-24 00:45:21 +02:00
Sebastien Deleuze
0def1640f2
Support single-value reactive types in @MessageMapping
...
This commit adds support for single-value reactive types in
@MessageMapping by converting them using ReactiveAdapterRegistry
and MonoToListenableFutureAdapter.
MonoToListenableFutureAdapter previously package private and used only
in org.springframework.messaging.tcp.reactor has been moved to
org.springframework.messaging.support and made public in order to be
used by ReactiveReturnValueHandler as well.
Issue: SPR-16634
2018-07-23 15:20:48 +02:00
Juergen Hoeller
9a43d2ec20
Revised log levels: less WARN and INFO, fine-tuned DEBUG vs TRACE
...
Issue: SPR-16946
2018-07-20 15:05:16 +02:00
Rossen Stoyanchev
833aee9b2d
Add SimpLogging and use o.s.messaging.simp classes
...
Issue: SPR-17012
2018-07-18 15:33:20 -04:00
Rossen Stoyanchev
a40d25a760
Remove no-op classes in web-related Java config
2018-07-11 11:10:03 -04:00
Juergen Hoeller
e22466e9d5
Polishing
2018-06-29 19:44:15 +02:00
Juergen Hoeller
40efcc933c
Polishing
2018-06-28 14:51:33 +02:00
Phillip Webb
a89e716cc7
Use tabs rather than spaces in tests
...
Update tests to ensure that tabs are used instead of spaces. Also
consistently apply a new line at the end of each file.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
5cedd0d5d4
Consistently use tabs rather than spaces
...
Update code that has accidentally used spaces instead of tabs.
Also remove all trailing whitespace.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
9de3689f63
Never use 'this.' when accessing loggers
...
Ensure that `this.` is never used when accessing loggers.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0b53c1096a
Always use 'this.' when accessing fields
...
Ensure that `this.` is used consistently when accessing class
fields.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
eeebd51f57
Use consistent class design
...
Update all classes so that inner classes are always last. Also
ensure that utility classes are always final and have a private
constructor and make exceptions final whenever possible.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e9d1b39aff
Apply consistent copyright header
...
Add copyright header to `package-info.java` files and fix a few
malformed headers on existing java files.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
c3a17dfd47
Ensure all files end with a newline
...
Update all files to ensure that they always end with a new line.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e0480f75ac
Fix javadoc checkstyle issues
...
Fix checkstyle violations for javadoc.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Juergen Hoeller
003d643adc
Consistent support for new JsonMappingException wording in Jackson 2.9
...
Issue: SPR-16947
2018-06-17 21:42:20 +02:00
Rossen Stoyanchev
d196cdc5cd
Update docs on @SendTo and @SendToUser
...
1. Explain that both can be used on the same method
2. Better describe semantics for class vs method level
3. General improvements
Issue: SPR-16336
2018-06-11 12:42:55 -04:00
Rossen Stoyanchev
f4bffea739
Support for @SendTo and @SendToUser for same method
...
Issue: SPR-16891
2018-06-11 12:42:55 -04:00
Rossen Stoyanchev
7a70f7c5d8
Polish @SendTo test
2018-06-11 12:42:55 -04:00
Juergen Hoeller
646d7f9e57
Unit tests for @MessageExceptionHandler cause and error resolution
...
Issue: SPR-16912
2018-06-11 13:44:43 +02:00
Juergen Hoeller
0c8cfa05b5
AbstractMethodMessageHandler processes Error as MessageHandlingException
...
Issue: SPR-16912
2018-06-10 23:59:07 +02:00
Juergen Hoeller
25559b9e44
Polishing
2018-06-06 21:31:24 +02:00
Rossen Stoyanchev
a3216432b5
Polish
...
Issue: SPR-16387
2018-05-31 15:38:30 -04:00
Violeta Georgieva
ffbc75ae47
Upgrade to Reactor Netty 0.8
...
Issue: SPR-16387
2018-05-31 15:37:39 -04:00
Rossen Stoyanchev
fbf25c536d
ChannelInterceptor default methods + deprecate adapter
2018-05-23 21:48:19 -04:00
Rossen Stoyanchev
e043481a26
STOMP client supports setting accept-version
...
Issue: SPR-16844
2018-05-18 21:32:46 -04:00
Rossen Stoyanchev
37b0ed9fcb
Improve TCP connection info logging.
...
After the recent changes to expose configuring TcpOperations, it no
longer makes sense to automatically log the relayHost/Port since that's
mutually exclusive with a custom TcpOperations.
Instead we delegate to TcpOperations.toString().
Issue: SPR-16801
2018-05-16 11:40:51 -04:00
Johnny Lim
fb898e1727
Remove inconsistent spaces
2018-05-05 11:07:35 +02:00
Rossen Stoyanchev
f7029ffca6
Uncomment ignored test after Reactor Core fix
2018-05-02 15:44:24 -04:00
Rossen Stoyanchev
4c021d04ce
@Ignore failing test from reactor-core regression
2018-05-02 07:23:46 -04:00
Rossen Stoyanchev
ff2228fdaf
Selector header name is exposed for configuration
...
Issue: SPR-16732
2018-04-16 23:56:30 -04:00
Rossen Stoyanchev
cca78e42f1
Polish
2018-04-11 21:52:59 -04:00
Carter Kozak
e2febbdd8c
Remove unnecessary iterator allocation in type handlers
...
HandlerMethodReturnValueHandlerComposite and
AbstractMethodMessageHandler iterate using index over collections
implementing RandomAccess to avoid unnecessary iterators.
2018-04-11 21:39:32 -04:00
igor-suhorukov
4aae6a6dda
Use Map.forEach instead of manual Map.Entry iteration wherever possible SPR-16646
2018-03-28 01:09:03 +02:00
Juergen Hoeller
e3d0ef6015
Use Map.forEach instead of manual Map.Entry iteration wherever possible
...
Issue: SPR-16646
2018-03-27 00:38:32 +02:00
Juergen Hoeller
f00afe3247
Use (Concurrent)Map.computeIfAbsent for lazy nested collection creation
2018-03-23 17:36:23 +01:00
Rossen Stoyanchev
1b83f129a2
ReactorNettyTcpClient uses elastic pool
...
Issue: SPR-16626
2018-03-22 20:22:07 -04:00
Juergen Hoeller
51c57d77d9
SimpleEvaluationContext with dedicated factory methods for common cases
...
Aligned with DataBindingPropertyAccessor and shown in ref doc examples.
Issue: SPR-16588
2018-03-22 18:09:27 +01:00
Christoph Dreis
d3a0a8e007
Use Collection.removeIf() where possible ( #1747 )
...
Use Collection.removeIf() where possible
Issue: SPR-16622
2018-03-22 11:36:11 +01:00
Rossen Stoyanchev
e0de9126ed
Re-use EvaluationContext in DefaultSubscriptionRegistry
...
Rather than create a new EvaluationContext instance per evaluation, we
now create a statically shared instance, without the root object in it,
and re-use it for all evalutations.
2018-03-21 23:29:58 -04:00
Rossen Stoyanchev
88a17a4b10
Reactor2TcpClient constructor with address supplier
...
Issue: SPR-12452
2018-03-20 12:21:45 -04:00