* Change expected type from the `HeaderMapper` to the `AmqpHeaderMapper`
* Add 'header-mapper' mutually exclusivity failing tests
* Change AMQP doc to reference `AmqpHeaderMapper` not `HeaderMapper`
JIRA: https://jira.springsource.org/browse/INT-2971
INT-2971 Polishing
Polish schema docs; add info about STANDARD_*_HEADERS.
- Don't evaluate expression if the log level is not enabled
- Add mutually exclusive assertions (already protected by the parser
but not for programmatic configuration).
INT-2944 Document <logging-channel-adapter/>
Add reference sub-chapter.
INT-2939 Polishing - PR Comments
- remove unnecessary cast.
- add setter for level changes.
Polishing
* Change setter to use enum.
* Add getter for current level.
* Rename method to 'createLogMessage'.
When autocreateDirectory is true, and the top level directory
did not exist, the mkdirs failed because the adapter tried
to create a directory name with a zero length string.
This caused an 'String index out of range: 0' exception in
SFTP.
Stop iteration when 'pathSegment' is zero length.
The fix for INT-2650 (to avoid unnecessary array copying) was
too general in that it also prevented types in collections and
maps from being converted.
Add tests to illustrate that such payloads are not converted.
Change code to only short circuit the conversion process if
the payload is a primitive array.
An existing test ensures that arrays are not copied.
Add more tests to complete coverage - discovered another
bug - the early exit after using a property editor to convert
to a String was never taken - it was testing against the
Class of the TypeConverter instead of the Type. If the
target type is a String, we don't need to perform
conversion after the property editor has done its
conversion.
Fix MessageHistory test (was testing MessageHeaders).
* BeanDefinitionParserDelegate constructor now prefers an Environment. Circumvent this
preference by directly getting BeanDefinitionParserDelegate from the associated ParserContext
Core, JDBC, JMX, JPA each had dependencies for both
weaver and rt jars. weaver is a superset of rt.
Remove dependencies on the rt jar.
Further JDBC, JPA have no dependencies on AspectJ.
Finally, the JMX dependency was compile, when only
testCompile is needed.
`charset` for `<object-to-string-transformer>` was placed in the common `inputOutputChannelGroup` attributeGroup.
`charset` wasn't available within `<chain>`.
* Move 'charset' from `inputOutputChannelGroup` to the new `specialized-transformer-charset-aware-type` complexType
* Add test for 'charset' within `<chain>`
JIRA: https://jira.springsource.org/browse/INT-2958
For reference see: https://jira.springsource.org/browse/INT-2882
* Verify spacing
* Ensure all source code samples are typed: e.g. <programlisting language="xml">
* Ensure source code fits space in PDF format
INT-2932
- Reference Documentation
INT-2941
- Add getter for Throwable
- Add auto-startup to Parser, Endpoint (already in schema)
- Add phase to schema, Parser
(Schema changes are mostly indentation because the element now
extends SmartLifecycleType).
For reference see: https://jira.springsource.org/browse/INT-2945
* ensure that for StoredProcedure Inbound Channel Adapter the *isFunction* property is set
* add test
INT-2945 - Code Review - Add Tests
Groups changed within the same millisecond that they
were selected for reaping can cause aggregators to
emit duplicate messages.
Use the re-fetched group (used to see if the timetamp
changed) instead of the group passed in to forceClose
(the group might have changed since it was selected as
eligible for reaping).
We still retain the last modified check because it
might have been expired using timeoutOnIdle.
Inadvertent sign extension on binary data with bit 7 set
causes early termination of binary deserializers.
The ChannelInputStream (which replaced the piped input
and output streams) failed to mask off the top 24 bits
of "normal" bytes received, causing Deserializers to
believe the stream was closed.
Add a mask of 0xff to bytes read.
Add a test case.
Assertion that server side connection was established could
occur after the connection was established, but before it was
added to the collection.
Add a latch.
AbstractMessageRouter.getRequiredConversionService() and
IntegrationObjectSupport.getConversionService() try to initialize the
conversion service and may be called from multiple threads. There is
a race condition where this could end up in an uninitialized conversion service
causing NPEs in subsequent method calls.
To solve this issue, the conversion service is initialized with
double-checked locking.
For further details see https://jira.springsource.org/browse/INT-2931
INT-2931 Polishing - Add Test Case
Add a test case that reliably reproduces the issue and verifies
the fix.
Reference: https://jira.springsource.org/browse/INT-2126
* Add TcpConnectionEvent for OPEN, CLOSE, EXCEPTION.
* Add Event Type Enum - Provides type safety for event types.
* Add <int-ip:tcp-connection-event-inbound-channel-adapter />
* Add the ability to filter events (restrict to one or more subclasses)
* Add publishEvent() to TcpConnectionSupport to permit, for example, connection interceptors to publish events via the connection, but the event source can only be the connection used to publish the event.
* Add documentation to Reference Documentation section *What's New*
INT-2871 Provide Mechanism to Find TCP Connections
Reference: https://jira.springsource.org/browse/INT-2871
* Add getOpenConnectionIds() to Abstract Connection Factory
* Add closeConnection(String connectionID)
* Introduce removeClosedConnectionsAndReturnOpenConnectionIds
INT-2877 TCP Extension Improvements
Reference: https://jira.springsource.org/browse/INT-2877
* Make improvements to make extension easier.
* Add setCustomHeaders() to mapper.
* Add mapper to connection factory namespace parser.
* Add plumbing for stateful Deserializers.
* Refactor setting standard headers
* rename setCustomHeaders to supplyCustomHeaders - returning a Map and not exposing the MessageBuilder to subclasses
INT-2872 Remove Deprecated Items in ip Module
Reference: https://jira.springsource.org/browse/INT-2872
* pool-size Attribute
* setScheduler
* TcpSendingMessageHandler.getConnection()
* Deprecated attribute on TCP Connection Factory.
* Convert byte[] and char[] to String rather than simply using toString().
* Allow the charset to be configured for byte[] payloads.
* Add tests.
* Add reference documentation updates.
ExponentialMovingAverageRateTests are VERY sensitive to
timing, when running on a busy platform.
Add code to skip the assertions if we detect we are
running on a slow machine.