INT-1876 Add AutoStart and Phase to TCP Endpoints
There was no way for an application to control the startup
of TCP endpoints. This is particularly an issue for controlling
availability of inbound endpoints.
The TCP Endpoints are mostly static, with dynamic behavior
being contained in connection factories. The factories
implement SmartLifecycle but there is no way to
configure auto-startup.
Adds auto-startup and phase attributes to all TCP endpoints
Starting/stopping an endpoint will start/stop the underlying
connection factory. When a connection factory is stopped,
all open connections are closed, and no new connections will
be acceptedi (inbound) or allowex (outbound).
While the factories implement SmartLifecycle, they return
false to auto-startup. We rely on the fact that
the endpoints are dependent on factories and
the factories will be started because of this dependency.
Finally, with collaborating endpoints (where an inbound and
outbound adapter are bound to the same factory), starting/
stopping one endpoint will affect the collaborating
endpoint too.
INT-1876 Polish Schema Docs
Doc was incorrectly talking about connection factories instead
of endpoints.
INT-2162 Add apply-sequence to Connection Factory
When messages are generated as a result of incoming tcp messages, and this
attribute is true (default=false), the sequenceNumber and
correlationId headers will be set. This will facilitate
downstream resequencing if necessary.
The 'ip_connection_id' header is still required for internal correlation
of reply messages to the right socket (regardless of whether downstream
components have altered the correlationId), and will contain the same value
as the correlationId (if set). This will not use up more memory for the
header content because they will both point to the same heap object.
The 'ip_connection_seq' header is deprecated and may be removed
in a future release.
TcpConnection.getConnectionSeq() has been renamed to
incrementAndGetConnectionSequence() because it is not a simple
getter method, it increments the connection's sequence number.
INT-2162 Update Docs for apply-sequence
Add documentation for apply-sequence attribute on
TCP Connection Factories.
- Add more documentation for schema elements in spring-integration-xml-2.1.xsd
- Simplify Handling of Channel Resolution (Failures) for Routers
- Fix PayloadTypeRouterTests
- Update reference docs, XSD Schemas
- Rename 'channel-resolution-required' to 'resolution-required'
- Updated all tests accordingly