This chapter provides an overview of the new features and improvements that have been introduced with Spring Integration 3.0 If you are interested in even more detail, please take a look at the Issue Tracker tickets that were resolved as part of the 3.0 development process.
The (supplied) TcpConnection
s now emit
ApplicationEvent
s (specifically
TcpConnectionEvent
s) when connections are
opened, closed, or an exception occurs. This allows applications
to be informed of changes to TCP connections using the normal
Spring ApplicationListener
mechanism.
AbstractTcpConnection
has been renamed
TcpConnectionSupport
; custom connections that
are subclasses of this class, can use its methods to publish events.
Similarly, AbstractTcpConnectionInterceptor
has
been renamed to TcpConnectionInterceptorSupport
.
In addition, a new <int-ip:tcp-connection-event-channel-adapter/>
is provided; by default, this adapter sends all TcpConnectionEvents
to a Channel
.
Further, the TCP Connection Factories, now provide a new method
getOpenConnectionIds()
, which returns a list of identifiers for all
open connections; this allows applications, for example, to broadcast to all
open connections.
Finally, the connection factories also provide a new method
closeConnection(String connectionId)
which allows applications
to explicitly close a connection using its ID.
Further documentation for these features will follow; for now, refer to the schema documentation for information about the new adapter, and JavaDocs for it as well as the other features.
AbstractCorrelatingMessageHandler
provides a new property
empty-group-min-timeout
to allow empty group expiry to run on a longer schedule than expiring partial groups. Empty groups will
not be removed from the MessageStore
until they have not been modified
for at least this number of milliseconds. For more information see Section 5.4.4, “Configuring an Aggregator”.
This transformer now correctly transforms byte[]
and char[]
payloads to String
. For more information see Section 6.1, “Transformer”.