Alexander Riss
e49a5d8424
fix inefficient use of keySet operators in messaging classes
...
issue: SPR-15553
2017-05-16 10:41:22 +02:00
Juergen Hoeller
e93e49f268
ErrorMessage.toString() includes original message at top level
...
Issue: SPR-15459
2017-04-19 20:50:20 +02:00
Gary Russell
e677342628
Add originalMessage to ErrorMessage
...
Issue: SPR-15459
2017-04-19 14:04:25 -04:00
Sebastien Deleuze
4d9144132e
Upgrade to Reactor Core 3.1
...
Issue: SPR-15318
2017-04-11 18:13:04 +02:00
Juergen Hoeller
5986f881d0
HandlerMethod evaluates ResponseStatus annotation for early caching
...
Issue: SPR-15227
2017-04-08 15:56:05 +02:00
Brian Clozel
b799013567
Update to Reactor Aluminium SNAPSHOT
...
Currently the BOM versions are:
* reactor-core 3.0.6.BUILD-SNAPSHOT
* reactor-netty 0.6.2.BUILD-SNAPSHOT
This commit fixes as well a few deprecations in reactor-core.
2017-03-10 15:20:40 +01:00
stonio
7d062df992
Use String#isEmpty()
...
Closes gh-1335
2017-02-22 11:55:17 +01:00
Juergen Hoeller
d2cc97af47
Polishing
2017-02-21 22:41:40 +01:00
Rossen Stoyanchev
f219680d42
Add equals/hashcode for STOMP Subscription
...
Issue: SPR-15229
2017-02-21 15:05:06 -05:00
Stephane Maldini
ba97432043
prepare for reactor-netty 0.6.1.RELEASE
2017-02-21 16:00:19 +00:00
Juergen Hoeller
370e3d683a
Polishing
2017-02-20 23:00:12 +01:00
Juergen Hoeller
74bdcd8ed4
MutableMessageHeaders serializes itself as regular MessageHeaders
...
Issue: SPR-15262
2017-02-17 20:59:17 +01:00
Juergen Hoeller
50d93d3794
Consistently support CompletionStage next to CompletableFuture
...
Issue: SPR-15258
2017-02-15 23:16:11 +01:00
Rossen Stoyanchev
60517b23e2
StompSession supports custom headers for UNSUBSCRIBE
...
Issue: SPR-15131
2017-01-31 17:55:53 -05:00
Juergen Hoeller
9b26fcd7d2
Refined assertion messages
...
Issue: SPR-15196
2017-01-31 15:56:39 +01:00
Juergen Hoeller
1b2dc3638f
Revisit Assert to avoid single-arg assert methods (with refined messages)
...
Issue: SPR-15196
2017-01-30 22:15:55 +01:00
Arjen Poutsma
69c16f3821
Add headers in InterceptingClientHttpRequest
...
This commit *adds* the "intercepted" headers to the ClientHttpRequest,
as opposed to replacing them, which is what happened before this commit.
Issue: SPR-15166
2017-01-30 14:18:50 +01:00
Juergen Hoeller
8038fb9c8b
HandlerMethod pre-resolves parameter types at construction time
...
Issue: SPR-15186
2017-01-25 11:09:43 +01:00
Juergen Hoeller
12973ac702
Polishing
2017-01-24 00:12:53 +01:00
Juergen Hoeller
f095aa20eb
Polishing
2017-01-23 21:28:40 +01:00
Juergen Hoeller
e9db4d6f96
Proper resolution of Optional.empty() for header arguments
...
Issue: SPR-15151
2017-01-17 10:46:37 +01:00
Juergen Hoeller
62e530ec94
Resolve minor 4.3.x deprecations in master
...
Issue: SPR-15139
2017-01-16 21:43:12 +01:00
Juergen Hoeller
047786acef
Revised InvocableHandlerMethod exception messages (controller vs endpoint vs handler)
...
Introduces dedicated MethodArgumentResolutionException for spring-messaging invocations.
Issue: SPR-15139
2017-01-16 21:14:46 +01:00
Juergen Hoeller
7c05b427a7
MimeTypeUtils constants cleanup: removed web media types
...
Issue: SPR-15137
2017-01-12 23:30:57 +01:00
Juergen Hoeller
743ce2cda6
Polishing
2017-01-12 23:30:38 +01:00
Sam Brannen
9ed66bf2eb
Clean up warnings across code base
2017-01-07 01:54:38 +01:00
Gary Russell
80bc8fc596
Implement MessagingException.toString()
...
Issue: SPR-15091
Closes gh-1284
2017-01-05 10:25:04 +01:00
Rossen Stoyanchev
e62b104e03
Resource cleanup on shutdown in ReactorNettyTcpClient
2016-12-28 21:37:12 -05:00
Rossen Stoyanchev
698c885e06
Reconnect failures delegated to TcpConnectionHandler
...
When connecting with a ReconnectStrategy we can only report the outcome
of the first connect to the ListenableFuture<Void> return value.
Failures for all subsequent attempts to reconnect however must be
channeled to TcpConnectHandler#afterConnectFailure which is used in
the STOMP broker relay for example to publish
BroadcastAvailability(true/false) events.
2016-12-28 21:37:07 -05:00
Rossen Stoyanchev
ea274ebc0a
Fix decoding issue in Reactor TcpClient
...
When decoding STOMP messages unread portions of a given input ByteBuf
must be kept until more input is received and the next complete STOMP
frame can be parsed.
In Reactor Net 2.x this was handled for us through the "remainder"
field in NettyChannelHandlerBridge. The Reactor Netty 0.6 upgrade
however applied only a simple map operator on the input ByteBuf
after which the buffer is relased.
This commit replaces the use of a simple map operator for decoding
and installs a ByteToMessageDecoder in the Netty channel pipeline
which has a built-in ability to preserve and merge unread input into
subsequent input buffers.
2016-12-28 21:36:37 -05:00
Rossen Stoyanchev
fdf88c9795
Workaround for onReadIdle issue in Reactor TcpClient
...
https://github.com/reactor/reactor-netty/issues/22
2016-12-28 21:36:37 -05:00
Rossen Stoyanchev
2a3e01399a
Polish ReactorNettyTcpClient
2016-12-28 21:36:37 -05:00
Juergen Hoeller
5c48daa8eb
Remove unused Log object from MessageHeaderAccessor
...
Issue: SPR-15045
2016-12-22 23:34:19 +01:00
Juergen Hoeller
ae62341fa3
Avoid deprecated Scheduler.shutdown() in favor of Scheduler.dispose()
2016-12-22 22:35:54 +01:00
Juergen Hoeller
4c005e6336
ResolvableType-based matching respects generic factory method return type
...
Includes consistent use of ResolvableType.resolve() wherever applicable.
Issue: SPR-15011
2016-12-17 23:10:48 +01:00
Stephane Maldini
2802926c1d
update STOMP support to reactor-netty 0.6
2016-12-13 17:31:09 +00:00
Stephane Maldini
70bab23609
update STOMP support to reactor-netty 0.6
2016-12-13 17:29:43 +00:00
Rossen Stoyanchev
b3fa1b40a0
Synchronized updates of STOMP header key cache
...
Issue: SPR-14901
2016-12-08 11:13:57 -05:00
Christoph Dreis
9b76dc2ab4
SPR-14901 Allow customization of STOMP message header encoding
...
Fixes SPR-14901
2016-12-08 11:13:56 -05:00
Sergei Ustimenko
e4ed1f6ffd
ChannelFutureMono renamed to FutureMono
...
In the latest reactor-netty there is renaming
of ChannelFutureMono class to FutureMono. Thus
build fails on the latest master.
2016-12-03 18:56:42 +01:00
Juergen Hoeller
f6fc0a86b3
Polishing
...
(cherry picked from commit 0028b29
)
2016-12-01 20:11:47 +01:00
Rossen Stoyanchev
b874692452
Simplify ReactorNettyTcpClient input
...
Create a ReactorNettyCodec to hold the decoding and encoding function
and consumer along with a package-private sub-class that delegates to
StompDecoder and StompEncoder.
Issue: SPR-14531
2016-11-30 21:17:04 -05:00
Rossen Stoyanchev
85c93f5d67
Polish Reactor Netty TCP client support
2016-11-30 21:17:04 -05:00
Stephane Maldini
870f61fd8e
update STOMP support to reactor-netty
2016-11-30 21:17:04 -05:00
Juergen Hoeller
5458a427a1
Polishing
2016-11-30 22:31:47 +01:00
Rossen Stoyanchev
a203b74d20
PayloadArgumentResolver has useDefaultResolution flag
...
Issue: SPR-14937
2016-11-28 17:00:22 -05:00
Sebastien Deleuze
a143b57d4b
Polish Kotlin nullable support
...
This commit polishes Kotlin nullable support by reusing
MethodParameter#isOptional() instead of adding a new
MethodParameter#isNullable() method, adds
Kotlin tests and introduces Spring Web Reactive
support.
Issue: SPR-14165
2016-11-24 18:28:50 +01:00
Raman Gupta
fada91e538
Treat Kotlin nullable as non-required
...
Where `isOptional` is used, also check for `isNullable` i.e.
values are not considered required if they are Kotlin nullables:
- spring-messaging: named value method arguments
- spring-web: named value method arguments
- spring-webmvc: request parts
This means that Kotlin client code no longer has to explicity specify
"required=false" for Kotlin nullables -- this information is inferred
automatically by the framework.
Issue: SPR-14165
2016-11-24 17:18:55 +01:00
Juergen Hoeller
80931b211c
Shared DefaultConversionService instance for simple fallback purposes
...
Issue: SPR-14948
2016-11-24 15:29:17 +01:00
Juergen Hoeller
9bf4d7cf4e
Polishing
2016-11-22 14:57:00 +01:00
Christoph Dreis
a929e9ccaa
Implement allocation-friendly method to get user count in SimpUserRegistry
...
SPR-14930
2016-11-21 21:02:10 +01:00
Juergen Hoeller
ac774cdcef
Avoid deprecated Mockito methods
...
Issue: SPR-14880
2016-11-04 12:24:46 +01:00
Juergen Hoeller
84d3808b3b
Upgrade to Mockito 2.2
...
Issue: SPR-14880
2016-11-03 22:53:35 +01:00
Juergen Hoeller
dc080cb1be
Revised NoSuchBeanDefinitionException message and ResolvableType handling
...
Includes consistent quoting of qualified type names in related classes.
Issue: SPR-14831
2016-10-28 23:39:05 +02:00
Juergen Hoeller
dbaafdd04e
MessageChannel declares send(Message) as default method
...
Issue: SPR-14854
2016-10-28 15:11:03 +02:00
Juergen Hoeller
3726c6f18d
Polishing
2016-10-21 12:26:27 +02:00
Juergen Hoeller
eafaaa5cb8
Polishing
2016-10-12 17:11:04 +02:00
Juergen Hoeller
ffc781b163
Explicit calls on Buffer base type (for compatibility with covariant return type on JDK 9's ByteBuffer)
...
Issue: SPR-14645
2016-10-05 00:10:06 +02:00
Juergen Hoeller
fb7ae010c8
Avoid unnecessary generics on emptyMap/Set/List
2016-09-26 18:04:49 +02:00
Juergen Hoeller
a6b0b6e279
Efficient STOMP content-length header check
...
Issue: SPR-14747
2016-09-26 17:25:21 +02:00
Juergen Hoeller
c64f39943f
Polishing
2016-09-26 17:20:30 +02:00
Juergen Hoeller
e188b4428e
Polishing
2016-09-25 21:00:07 +02:00
Christoph Dreis
774e4c3dc1
Improve performance of StompEncoder
...
Fixes SPR-14747
2016-09-25 19:09:01 +02:00
Rossen Stoyanchev
99c7917124
Reset connection before delegating to handler
...
Resetting the connection first before invoking a failure callback on
the application handler ensures that any checks to isConnected will
return false.
Issue: SPR-14721
2016-09-19 09:04:23 -04:00
Juergen Hoeller
6dc1898dbb
Timeout exceptions as RuntimeExceptions
...
Issue: SPR-14669
2016-09-15 08:54:17 +02:00
Rossen Stoyanchev
3bc1121b9d
Check both connection and connected flag
...
Issue: SPR-14703
2016-09-14 17:19:49 -04:00
Juergen Hoeller
f592599349
Polishing
...
(cherry picked from commit 54db496
)
2016-09-13 23:48:41 +02:00
Juergen Hoeller
03609c1518
Consistent comma splitting without regex overhead
...
Issue: SPR-14635
2016-08-30 23:56:58 +02:00
Rossen Stoyanchev
8b4f60b8e5
Support receipt on DISCONNECT with simple broker
...
Issue: SPR-14568
2016-08-29 18:31:19 -04:00
Juergen Hoeller
899ebd8ee2
Avoid collection lookups in StompCommand
...
Issue: SPR-14636
2016-08-29 11:54:21 +02:00
Juergen Hoeller
dfdfd72a3e
Polishing
...
(cherry picked from commit 430180a
)
2016-08-26 18:59:40 +02:00
Juergen Hoeller
2e4a7480fc
Consistent use of JDK 7 StandardCharsets over Charset.forName
...
Issue: SPR-14492
2016-08-26 14:16:19 +02:00
Juergen Hoeller
14046575b0
Polishing
2016-08-26 13:27:33 +02:00
Juergen Hoeller
f3f691cc37
Revised assertions in StompHeaderAccessor
...
Issue: SPR-14625
2016-08-24 21:04:01 +02:00
Juergen Hoeller
c4fff6db1b
Reintroduced MessageMethodArgumentResolver default constructor
...
Issue: SPR-14616
2016-08-23 13:20:02 +02:00
Juergen Hoeller
eeeab27f1f
Polishing
...
(cherry picked from commit 35e247a
)
2016-08-10 16:42:21 +02:00
Juergen Hoeller
59a24b406a
Polishing
2016-08-10 14:20:42 +02:00
Juergen Hoeller
5db449556b
Polishing
2016-07-27 16:21:55 +02:00
Juergen Hoeller
6d5af60a7c
Expose DefaultSubscriptionRegistry's cache limit through SimpleBrokerMessageHandler and MessageBrokerRegistry
...
Issue: SPR-14516
2016-07-27 12:11:58 +02:00
Juergen Hoeller
e03dea1d64
Polishing
2016-07-26 17:15:19 +02:00
Marius Grama
3635c9dbfe
Update xmlunit library to version 2.1.0
...
xmlunit 2.1.0 is the latest release for xmlunit.
Most of the xmlunit functionality used within spring-framework
was done through the xmlunit 1.x helper class
`org.custommonkey.xmlunit.XMLAssert`.
As of xmlunit 2.0.0 most of the XML comparison methods are done
through hamcrest matchers exposed by the xmlunit-matchers
library. In some cases during the migration, the matchers
had to be customized with custom `NodeMatcher` or
`DifferenceEvaluator` instances in order to keep the assertions
correct (they were performed with xmlunit 1.x previously).
Issue: SPR-14043
2016-07-21 15:04:21 +02:00
Juergen Hoeller
99be15f58b
Revise encoding steps towards use of JDK Charset and StandardCharsets
...
Issue: SPR-14492
2016-07-19 23:43:06 +02:00
Juergen Hoeller
a4743c07d4
Polishing
2016-07-19 20:09:00 +02:00
Juergen Hoeller
aaac199e8b
Consistently use constructor-based instantiation instead of Class.newInstance / BeanUtils.instantiate
...
Issue: SPR-14486
2016-07-19 19:21:06 +02:00
Juergen Hoeller
b1663585dc
MessageHeaderAccessor properly removes header even in case of null value
...
Issue: SPR-14468
2016-07-15 00:15:46 +02:00
Juergen Hoeller
a1f5fb53db
Java 8 getParameterCount() instead of getParameterTypes().length
...
Issue: SPR-13188
2016-07-07 01:04:24 +02:00
Stephane Nicoll
e4b0486c5a
Add @FunctionalInterface on candidate interfaces
...
Issue: SPR-14432
2016-07-06 14:32:13 +02:00
Sam Brannen
1391248ea6
Introduce log4j 2 for Spring's test suite
...
This commit adds a test runtime dependency on log4j 2 for every project
and migrates all log4j.properties files to log4j2-test.xml files.
Issue: SPR-14431
2016-07-05 19:19:09 +02:00
Stephane Nicoll
00d2606b00
Explicit type can be replaced by <>
...
Issue: SPR-13188
2016-07-05 17:00:34 +02:00
Juergen Hoeller
b5db5d3aac
Broadly remove deprecated core classes and methods
...
Issue: SPR-14430
2016-07-05 15:52:49 +02:00
Juergen Hoeller
51252ebbca
Avoid defensive checks against Java 8 API (java.util.Optional etc)
...
This commit also fixes broken javadoc links and code references.
Issue: SPR-13188
2016-07-05 02:09:00 +02:00
Juergen Hoeller
f6334fc62b
Aligned default Map capacity
2016-07-02 15:17:34 +02:00
Juergen Hoeller
b204437cef
Polishing
2016-07-02 14:48:15 +02:00
Juergen Hoeller
e5122d084a
Avoid wrapping in plain RuntimeException in favor of IllegalStateException
2016-07-02 13:03:33 +02:00
Juergen Hoeller
e5de7d5455
@MessageExceptionHandler matches cause as well (analogous to @ExceptionHandler)
...
Issue: SPR-14424
2016-07-02 12:56:37 +02:00
Juergen Hoeller
cfc560c4c4
Leniently accept custom DeferredResult etc subclasses for null values
...
Issue: SPR-14423
2016-07-02 12:55:30 +02:00
Rossen Stoyanchev
ebdc770ed3
Use appropriate message id header for STOMP 1.1 vs 1.2
...
Issue: SPR-14391
2016-06-27 16:12:59 -04:00
Juergen Hoeller
f5282bc1e3
PayloadArgumentResolver's MessageConversionException includes original payload type
...
Issue: SPR-14394
2016-06-23 17:32:30 +02:00
Juergen Hoeller
a9fda3e7e2
Defensive catching of any Throwable subclasses instead of just Error
...
Issue: SPR-14329
2016-06-04 00:17:20 +02:00
Juergen Hoeller
e4976a2c6d
ExecutorSubscribableChannel consistently rethrows Error as MessageDeliveryException
...
Issue: SPR-14323
2016-06-01 11:38:56 +02:00
Rossen Stoyanchev
1e003a1c90
Remove unnecessary assertion
...
Issue: SPR-14279
2016-05-18 10:57:54 -04:00
Rossen Stoyanchev
4a81aaba6c
Fix STOMP connect failure related memory leak
...
Normally heartbeats keep connections from hanging. However in some
cases a connection may hang before a CONNECTED frame is received
and heartbeats are put in place. This commit adds a change to enforce
a 60 limit on receiving the CONNECTED frame.
Issue: SPR-14266
2016-05-12 11:24:50 -04:00
Juergen Hoeller
c15f27cfa8
Avoid package import cycle through explicit javadoc reference
2016-05-06 13:41:02 +02:00
Sam Brannen
7b13311f03
Delete unused imports
2016-05-03 20:12:37 +02:00
Rossen Stoyanchev
46e41a9d94
Consolidate SendTo vs SendToUser detection
...
SendTo and SendToUser are treated as mutually exclusive. The addition of
type-level support in 4.3. RC1 however did not consider the possibility
to mix and match of the two betwee type and method level.
This commit consolidates the detection of SendTo and SendToUser
annotations and considers them all together.
Issue: SPR-14238
2016-05-03 12:34:19 -04:00
Juergen Hoeller
f83cbff543
Consistent SmartLifecycle implementations
...
Issue: SPR-14233
2016-05-02 13:01:44 +02:00
Rossen Stoyanchev
bd40a93604
Ensure Environment.shutdown() in Reactor2TcpClient
...
Issue: SPR-14229
2016-04-28 17:47:59 -04:00
Rossen Stoyanchev
220711d45b
Reactor2TcpClient cleans up TcpClient instances
...
Issue: SPR-14231
2016-04-28 15:27:53 -04:00
Rossen Stoyanchev
9798912557
Add missing @since tag
2016-04-26 16:48:45 -04:00
Rossen Stoyanchev
06b2d2b89e
STOMP client session supports sending ack/nack
...
Issue: SPR-14208
2016-04-26 16:44:58 -04:00
Johnny Lim
44e652f99e
Remove duplicate words
...
Closes gh-1039
2016-04-19 08:24:21 +02:00
Juergen Hoeller
f1cb793ccb
Rename MimeType's getCharSet() to getCharset()
...
Issue: SPR-14172
2016-04-14 16:38:59 +02:00
Juergen Hoeller
5f4e838f41
Jackson-based message converters do not log warning for serializer not found
...
Issue: SPR-14163
2016-04-14 14:13:13 +02:00
Juergen Hoeller
517ebd1d3e
Consistent formatting
2016-03-24 19:22:50 +01:00
Juergen Hoeller
5025c615b1
Consistent use of AnnotatedElementUtils.findMergedAnnotation/hasAnnotation
...
Issue: SPR-13440
2016-03-23 18:39:20 +01:00
Rossen Stoyanchev
183594207f
Support user destinations without leading slash
...
Before this commit the DefaultUserDestinationResolver did not support
well broker destinations that use dot as separator with a built in
assumptions that the destinations it resolves must start with slash.
This change adds PathMatcher property that is used to determine if
an alternative path separator is in use and if so the leading slash is
left out.
Issue: SPR-14044
2016-03-15 17:50:13 -04:00
Rossen Stoyanchev
68f6cf9d3a
Support same user connected to multiple servers
...
The MultiServerUserRegistry now supports scenarios where the same user
is connected to multiple servers. For such cases the SimpUser returned
from the registry exposes all sessions across all servers.
Issue: SPR-13800
2016-03-10 14:37:22 -05:00
Rossen Stoyanchev
6aa216afb6
Polish SimpUserRegistry related classes
...
Issue: SPR-13800
2016-03-10 14:37:22 -05:00
Rossen Stoyanchev
18a59dad52
Minor Javadoc update
2016-02-18 18:11:59 -05:00
Rossen Stoyanchev
416966d943
Support Message argument with payload conversion
...
The MessageMethodArgumentResolver now also supports applying a
MessageConverter to the payload.
This is effectively a shortcut for declaring a method with an @Payload
argument + MessageHeaders and then creating a new message from the two.
Issue: SPR-13288
2016-02-18 18:09:16 -05:00
Rossen Stoyanchev
ec3571fd4d
Polish
2016-02-18 18:09:16 -05:00
Juergen Hoeller
e0d7c6be00
Name attributes in method argument annotations allow for placeholders and expressions
...
Issue: SPR-13952
2016-02-17 22:59:12 +01:00
Juergen Hoeller
8558cbc9bf
Polishing
2016-02-10 19:40:47 +01:00
Juergen Hoeller
901c2d5f74
Consistent API between spring-web and spring-messaging HandlerMethod infrastructure
...
Issue: SPR-13929
2016-02-10 16:23:11 +01:00
Rossen Stoyanchev
e81c7dfc4c
Polish SendToMethodReturnValueHandlerTests
2016-01-29 16:16:21 -05:00
Rossen Stoyanchev
03e3ef53ab
@SendToUser supported on the class level
...
Issue: SPR-12047
2016-01-29 16:10:02 -05:00
Juergen Hoeller
b4f33adf48
Consistent java.util.Optional resolution, lenient handling of optional multipart files, correct Servlet 3.0 Part list/array selection
...
Issue: SPR-13418
Issue: SPR-13849
Issue: SPR-13850
Issue: SPR-13893
2016-01-26 18:06:15 +01:00
Stephane Nicoll
a112557dc4
Support SendTo at class-level
...
Issue: SPR-13578
2016-01-16 16:34:02 +01:00
Stephane Nicoll
2fc2c29e9a
Update copyright header
2016-01-15 10:51:11 +01:00
Rossen Stoyanchev
3dae3fd8a9
Refine ListenableFutureCallback policy for exceptions
...
This change updates all cases where callbacks are invoked to catch and
suppress errors (since there is not match to do with and error from
a callback be it success or failure).
Also updated is the contract itself to clarify this and emphasize the
callbacks are really notifications for the outcome of the
ListenableFuture not the callbacks themselves.
Issue: SPR-13785
2016-01-14 17:49:01 -05:00
Sam Brannen
5b3edcd9f9
Spring Cleaning in December
...
- Delete unused imports
- Delete unused code
- Clean up warnings
2015-12-17 20:27:33 +01:00
Juergen Hoeller
8ce5e88c66
Require Jackson 2.6+, FreeMarker 2.3.21+, XStream 1.4.5+
...
Issue: SPR-13062
2015-12-17 17:14:50 +01:00
Juergen Hoeller
753347ea98
Consistent static final logger declarations
2015-12-16 20:44:00 +01:00
Juergen Hoeller
bdb606b8b1
Polishing
2015-12-13 23:27:05 +01:00
Juergen Hoeller
beef5ff4c3
Polishing
2015-12-10 01:12:58 +01:00
Juergen Hoeller
ca9a078d82
Polishing
2015-12-10 00:31:37 +01:00
Juergen Hoeller
f119962378
SimpAnnotationMethodMessageHandler ignores empty marker annotations
...
Issue: SPR-13704
2015-12-10 00:30:50 +01:00
Juergen Hoeller
11806b9215
Class identity comparisons wherever possible (and further polishing)
...
Issue: SPR-12926
2015-12-09 12:28:09 +01:00
Juergen Hoeller
8c4436926f
Polishing
2015-11-26 02:09:37 +01:00
Juergen Hoeller
a0747c2148
Consistent bean type checking for endpoint handlers
...
Issue: SPR-13725
2015-11-25 21:26:03 +01:00
Juergen Hoeller
e8417ea6e1
SimpAnnotationMethodMessageHandler skips template variable check in case of no pattern
...
Issue: SPR-13704
2015-11-24 17:37:12 +01:00
Juergen Hoeller
760bc719f2
Polishing
2015-11-09 15:03:14 +01:00
Juergen Hoeller
bc7bcab578
Consistent method selection for listeners and endpoint mappings
...
Issue: SPR-13654
2015-11-09 14:57:45 +01:00
Juergen Hoeller
23c8f712c4
Polishing
2015-11-02 21:30:03 +01:00
Juergen Hoeller
cca037a74d
Polishing
2015-11-02 14:42:46 +01:00
Sebastien Deleuze
994a11da3e
Document default charset in Jackson message converters Javadoc
...
Issue: SPR-13600
2015-10-26 11:39:00 +01:00
Rossen Stoyanchev
922e6de788
Avoid filtering if selector header is not in use
2015-10-13 12:14:17 -04:00
Rossen Stoyanchev
7ff915a01a
Enforce cacheLimit in DefaultSubscriptionRegistry
...
When the cacheLimit is reached and there is an eviction from the
updateCache, the accessCache is now also updated.
This change also ensures that adding a destination to the cache is
protected with synchronization on the updateCache.
Issue: SPR-13555
2015-10-13 12:14:16 -04:00
Juergen Hoeller
181533c464
MessageHeaders serialization preserves non-serializable entries in original instance
...
Issue: SPR-13541
2015-10-06 13:24:05 +02:00
Rossen Stoyanchev
8c316e1863
Avoid issue with switching from Reactor 2.0.5 to 2.0.6
...
We can't compile directly against NettyClientSocketOptions method which
changed signatures in 2.0.6. This change ensures the method is invoked
reflectively instead.
2015-09-30 18:43:07 -04:00
Rossen Stoyanchev
c75206f975
Prepare for Reactor 2.0.6
2015-09-29 10:42:44 -04:00
Rossen Stoyanchev
daa49c9bcd
StompDecoder handles partial headers correctly
...
Issue: SPR-13416
2015-09-23 16:51:55 -04:00
Juergen Hoeller
c4f5a0fb10
MessagingException provides null description (instead of empty String) to NestedRuntimeException
...
Issue: SPR-13447
2015-09-09 11:42:59 +02:00
Juergen Hoeller
667fc7e4a9
Polishing
2015-09-04 14:38:47 +02:00
Rossen Stoyanchev
4ecb3d4f3f
Update WebSocket docs on proxying @Controller
...
Issue: SPR-13384
2015-08-25 22:14:36 -04:00
Juergen Hoeller
8cd283729b
MessageHeaders returns completely immutable entry set (no entry.setValue call allowed)
...
Issue: SPR-13385
2015-08-25 17:54:54 +02:00
Juergen Hoeller
3d2e2cb3ae
Upgrade to Reactor 2.0.5
2015-08-17 13:00:29 +02:00
Juergen Hoeller
a369fc8afd
Introduce SmartMessageConverter interface with conversionHint arguments
...
Issue: SPR-13343
2015-08-12 17:45:46 +02:00
Juergen Hoeller
9ef38807e6
Polishing
2015-07-30 19:34:33 +02:00
Juergen Hoeller
b1d6ae77e1
Polishing
2015-07-30 00:08:36 +02:00
Sam Brannen
725292081e
Introduce 'value' alias for 'attribute' in @AliasFor
...
SPR-11512 introduced support for annotation attribute aliases via
@AliasFor, requiring the explicit declaration of the 'attribute'
attribute. However, for aliases within an annotation, this explicit
declaration is unnecessary.
This commit improves the readability of alias pairs declared within an
annotation by introducing a 'value' attribute in @AliasFor that is an
alias for the existing 'attribute' attribute. This allows annotations
such as @ContextConfiguration from the spring-test module to declare
aliases as follows.
public @interface ContextConfiguration {
@AliasFor("locations")
String[] value() default {};
@AliasFor("value")
String[] locations() default {};
// ...
}
Issue: SPR-13289
2015-07-29 15:27:06 +02:00
Juergen Hoeller
02d05ed133
Consistent lookup of parameter-level JsonView annotation
...
Issue: SPR-13265
2015-07-29 01:05:25 +02:00
Juergen Hoeller
d83735694e
Polishing
2015-07-28 12:15:48 +02:00
Rossen Stoyanchev
4b4efa9f6e
Placeholder support for STOMP @MessageMapping methods
...
Issue: SPR-13271
2015-07-27 16:54:21 -04:00
Rossen Stoyanchev
a65e0369f4
Polish SimpAnnotationMethodMessageHandlerTests
2015-07-27 16:54:21 -04:00
Juergen Hoeller
0f54f686b2
PayloadArgumentResolver supports JsonView as well (through AbstractMessageConverter revision)
...
AbstractMessageConverter provides overloaded methods with a conversion hint, MappingJackson2MessageConverter takes that hint into account, and SimpMessagingTemplate transformes such a hint in the given headers map into an explicit argument invocation argument.
Issue: SPR-13265
2015-07-24 17:50:31 +02:00
Juergen Hoeller
f06581f5b8
Polishing
2015-07-22 14:20:12 +02:00
Juergen Hoeller
edd6e76b9f
Polishing
2015-07-21 22:58:34 +02:00
Juergen Hoeller
203f1225c3
Polishing
2015-07-17 15:25:43 +02:00
Juergen Hoeller
2a36abcaea
Polishing
2015-07-07 16:44:19 +02:00
Sebastien Deleuze
97936140cc
Support HandlerMethod parameter in @MessageExceptionHandler
...
Issue: SPR-13196
2015-07-07 15:43:39 +02:00
Juergen Hoeller
f79a5c12d5
DefaultSubscriptionRegistry defensively checks for removal between keySet and get calls
...
Issue: SPR-13205
2015-07-07 11:11:56 +02:00
Juergen Hoeller
fefc4b478f
Polishing
2015-07-07 02:22:44 +02:00
Juergen Hoeller
145d88d152
Polishing
2015-07-07 00:26:31 +02:00
Juergen Hoeller
f0175bc42d
DefaultSubscriptionRegistry uses deep LinkedMultiValueMap copies between accessCache and updateCache
...
Issue: SPR-13185
2015-07-07 00:25:47 +02:00
Rossen Stoyanchev
16cbfcfd2f
Add test to demonstrate 4.2 not affected by SPR-13185
...
Issue: SPR-13185
2015-07-06 17:32:55 -04:00
Rossen Stoyanchev
0b43e4e4f2
Add concurrent test and fix potential NPE
...
After SPR-12884 (4.2 RC1) introduced support for a selector header
expression on SUBSCRIBE frames, messages from the destination cache
are further filtered based on the selector expression. While adding a
test to find subscriptions at the same time as unsubscribing, a
potential NPE was exposed. This commit fixes the NPE.
Issue: SPR-13204
2015-07-06 17:07:20 -04:00
Rossen Stoyanchev
5dcbc5db29
Polish DefaultSubscriptionRegistryTests
2015-07-06 17:07:20 -04:00
Juergen Hoeller
dc1f921f5c
Split between basic MethodParameter and SynthesizingMethodParameter
...
This split avoids a package tangle (between core and core.annotation) and also allows for selective use of raw annotation exposure versus synthesized annotations, with the latter primarily applicable to web and message handler processing at this point.
Issue: SPR-13153
2015-06-30 00:02:02 +02:00
Sam Brannen
078d252d1e
Delete trailing whitespace in Java source code
2015-06-19 17:09:52 +02:00
Rossen Stoyanchev
1153969ea2
Polish
2015-06-15 14:56:56 -04:00
Josh King
11824893a9
Header values are optional in Stomp 1.1 and 1.2
2015-06-15 14:56:56 -04:00
Sam Brannen
ab24592662
Introduce alias for 'value' attribute in @SendToUser
...
Issue: SPR-11393
2015-06-01 14:14:23 +02:00
Sam Brannen
53d095aa28
Polish Javadoc for @SubscribeMapping
2015-06-01 13:56:44 +02:00
Sam Brannen
a6f53ef2a7
Polish Javadoc for @MessageMapping
2015-06-01 13:37:08 +02:00
Sam Brannen
7b10dc6e93
Fix typo in Javadoc
2015-05-29 23:24:09 +02:00
Sam Brannen
60a5ec87d0
Introduce alias for 'value' attribute in @Header
...
This commit introduces 'name' as an alias for 'value' in @Header.
Issue: SPR-11393
2015-05-29 23:23:52 +02:00
Sam Brannen
35c3e7c0f3
Polishing
2015-05-29 23:10:25 +02:00
Sam Brannen
250787a35a
Introduce alias for 'value' attribute in @Payload
...
This commit introduces 'expression' as an alias for 'value' in @Payload.
Issue: SPR-11393
2015-05-29 22:58:55 +02:00
Sam Brannen
7018747cec
Remove trailing whitespace in Java source code
2015-05-29 02:03:44 +02:00
Juergen Hoeller
05d475a275
Polishing
2015-05-22 23:50:47 +02:00
Rossen Stoyanchev
bbd3f902d0
Fix failing tests
2015-05-22 14:14:20 -04:00
Rossen Stoyanchev
c48e8708a7
Fix NPE in DefaultSimpUserRegistry
2015-05-22 13:44:09 -04:00
Rossen Stoyanchev
92bd7bba50
Restore userSessionRegistry field in StompSubProtocolHandler
...
This change ensures that the deprecated UserSessionRegistry is still
used if configured.
2015-05-22 13:44:09 -04:00
Rossen Stoyanchev
0db216daab
Polish
2015-05-22 09:06:18 -04:00
Sebastien Deleuze
5255e7ae21
Support CompletableFuture in @MessageMapping handler methods
...
Issue: SPR-12207
2015-05-22 11:30:56 +02:00
Sebastien Deleuze
d3db99c201
Support ListenableFuture in @MessageMapping handler methods
...
This commit introduces support for asynchronous return values thanks
to the new AsyncHandlerMethodReturnValueHandler interface. Out of
the box support for ListenableFuture is also provided.
Issue: SPR-12168
2015-05-22 11:29:13 +02:00
Juergen Hoeller
b4095c3e1d
Class identity comparisons wherever possible
...
Issue: SPR-12926
2015-05-20 14:34:16 +02:00
Sebastien Deleuze
876c9694c4
Allow use of @JsonView on @MessageMapping methods
...
Issue: SPR-12741
2015-05-19 15:35:40 +02:00
Stephane Nicoll
cf391f5ce1
polish
...
Remove unused imports
2015-05-19 08:49:01 +02:00