INT-3527: WebSocket and 'o-c-a' Improvements

JIRA: https://jira.spring.io/browse/INT-3527

* `WebSocketInboundChannelAdapter` now handles `CONNECT` STOMP message and sends `CONNECT_ACK` message to the `WebSocketSession` immediately
* `ExpressionMessageProducerSupport` implementations now checks the result of `expression` and if it is a `Message<?>` it is sent to channel without creating a new one
which previously wrapped that `Message<?>` as the `payload`.
* Add `<script>` support to the `<outbound-channel-adapter>`
* Upgrade to the SF 4.1.1
* Add appropriate notes to the Docs
This commit is contained in:
Artem Bilan
2014-10-13 17:26:45 +03:00
committed by Gary Russell
parent d5f1bb6516
commit 252c53db4c
13 changed files with 138 additions and 45 deletions

View File

@@ -135,6 +135,12 @@ public IntegrationWebSocketContainer serverWebSocketContainer() {
destinations, are routed to the <classname>AbstractBrokerMessageHandler</classname>, instead of to the
<code>outputChannel</code> of the <classname>WebSocketInboundChannelAdapter</classname>.
</para>
<para>
If <code>useBroker = false</code> and received message is of <code>SimpMessageType.CONNECT</code> type,
the <classname>WebSocketInboundChannelAdapter</classname> sends <code>SimpMessageType.CONNECT_ACK</code>
message to the <interfacename>WebSocketSession</interfacename> immediately without sending it to the
channel.
</para>
<note>
Spring's WebSocket Support allows the configuration of only one Broker Relay, hence we don't require an
<classname>AbstractBrokerMessageHandler</classname> reference, it is detected in the

View File

@@ -212,5 +212,14 @@
See <xref linkend="aggregator-config"/> for more information.
</para>
</section>
<section id="4.1-script-outbound-channel-adapter">
<title>Outbound Channel Adapter and Scripts</title>
<para>
The <code>&lt;int:outbound-channel-adapter/&gt;</code> now supports the <code>&lt;script/&gt;</code>
sub-element. The underlying script must have a <code>void</code>
return type or return <code>null</code>.
See <xref linkend="groovy"/> and <xref linkend="scripting"/>.
</para>
</section>
</section>
</chapter>