Use `com.eaio.uuid` by default and document how to replace
the default strategy.
Provide JDK and a simple incrementing incrementing implementation.
Add code to detect multiple contexts in the same classloaded using
the same strategy.
Add code to detect multiple IdGenerator beans and emit a WARN
instead of DEBUG, which is the case for no beans.
INT-3007 introduced a warning log when advising a non-message handler
class. However, the log was also emitted when other methods on a
real MessageHandler were invoked.
Suppress the message in these cases and improve the log by
including the concrete class for the method rather than the
interface on which the method is declared.
Allow an application to be informed of problems on the IMAP idle
thread by emitting an event containing the exception.
Introduce IntegrationApplicationEvent hierarchy for all
events emitted by SI components.
INT-3099 Polishing (PR Comments)
Separate TCP events into discrete subclasses.
INT-3030 Polishing; Docs, Tests
Add test cases for error channel support.
Dynamically discover available RMI port.
Add What's New and `<important/>` to reference.
INT-3094 Fix JSON Package Tangle
Move JSON 'discovery' classes to .support.json (used by
.json and .transformer - ObjectToMapTransformer)
INT-3094 Fix JSON Class Tangle
Separate factory methods to avoid class tangle.
Remove tight tangle between parser and mapper.
INT-3094 Fix Core Package Tangle
Move NamedComponent from .context to .support.context
(Used by .history, and .context references .store which references
.history through .util.)
INT-3094: fix 'support.json' package class-cycle
INT-3094 Polishing - PR Comments
Remove parser provider and make parsers public.
`<service-activator>` has had an attribute `requires-reply`,
but it wasn't available within `chain`.
Introduce new XSD type `serviceActivatorType`
and use it for root `<service-activator>` element and within `<chain>` as well.
JIRA: https://jira.springsource.org/browse/INT-3108
When writing files with this mode setting, the FWMH detected
that the final file already exists, but did not detect that
the temporary (default ....writing) file exists. This could
happen if two adapters were simulataneously processing the same
file.
Also, while a comment in the setter said an empty temp file
suffix is allowed, it did not work because the file rename
is performed unconditionally, fails, and throws an exception.
Add a check for the temporary file (if the suffix is not "").
Don't rename if the file was written in-place (no temp file suffix).
Add test cases for the FileExistsMode.IGNORE for both the final
and temporary files. Add a test where the temporary file suffix
is "", a ...writing file exists, the final file does not exist
and so is created by the handler. The ...writing file is untouched.
The JmsOutboundGateway's Listener container could throw
an NPE during connection recovery - while logging recovery
status.
The log attempts to include the destination description which
throws the NPE if there is no destination yet established.
Only attempt to get the description if the destination has
been established. And, even then, use a try/catch block
to prevent the NPE. Log the destination as 'null' in this
case.
Add a test case to detect the NPE by adding an ErrorHandlingTaskExecutor.
No errors should be detected with the fix in place.
INT-3080 Invoke RedisTemplate.afterPropertiesSet() when instantiating
programmatically.
INT-3084 Redis channel was incorrectly calling discard() during stop() (a multi-operation).
INT-3084 Fix timing issue in test (NPE)
JMS Outbound Gateway did not allow the specification of
a task executor on the <reply-listener/> element.
This could prevent the gateway being used with a
listener in a JEE container.
Allow setting a task-executor.
Add a bean name to the reply listener container so
that a default TE will create suitably named threads.
INT-3053 Polishing
Fix container bean name when the gateway has no
bean name.
When a remote flow throws a `MessagingException`, it is unwrapped
and the local `failedMessage` property is the remote failed
message instead of the message that arrived at the outbound
gateway.
Detect a remote MessagingException and wrapt it in a new
MessagingException so the `failedMessage` property is the
original message and the `failedMessage` on the cause is
the remote failed message.
Previously there was a concurrency race condition, where
`parameters` with `idCache` for poll Messages query had one state on building phase,
but had another one on execution phase.
* Introduce `ReentrantReadWriteLock` `idCacheLock` for operation around `idCache`
* Change `idCache` to simple `HashSet`, because thread-safety is guaranteed by `idCacheLock`
* Add a concurrency test-case, which failed before fix
JIRA: https://jira.springsource.org/browse/INT-2993
Provide an option to determine whether or not the discard
(and exception throwing if configured) occurs within the
advice chain (default), or after it completes.
INT-2938 Filter Discard Advice Option - Schema
Schema, parser, tests for option on filter element.
INT-2938 Polishing - PR Comments + Doc
INT-2938 Add to "What's New"
INT-2938 Polishing - Javadoc Typo
while merging: simplified to use boolean var only