JIRA; https://jira.spring.io/browse/INT-3782
- downsize some images to fit in PDF margins
- reduce some long FQ Class names
- fix some tables
- add some missing links
JIRA: https://jira.spring.io/browse/INT-3786
* Increase `receiveTimeout` for several `QueueChannel` and `CountDownLatch` based tests
* Fix `FileSplitterTests` for Windows compatibility - `UTF-8` for bytes conversion
* Make some STOMP tests as `LongRunning`
The next fixing phase
JIRA: https://jira.spring.io/browse/INT-3783
* Since IO doesn't have `hibernate-jpa-2.1-api` dependency and we need it only for testing,
hence move it to the `testRuntime`.
* Revert `org.eclipse.persistence:javax.persistence` and make it as `optional`, since it is end-user
responsibility to choose JPA implementation.
* Resolve deprecations since the latest Spring Framework changes.
* Increase `FeedInboundChannelAdapterParserTests` timeouts: https://build.spring.io/browse/INT-B41-353
JIRA: https://jira.spring.io/browse/INT-3401
Add Google Guava CLASSPATH check for the `StoredProcExecutor`
and use `ConcurrentHashMap` as an alternative to the Guava's `Cache`,
when Guava isn't presented in the CLASSPATH
Addressing PR comments
PR Comments
PR Comments:
Introduce an internal static `StoredProcExecutor.GuavaCacheWrapper` class
to avoid the eager class loading for the `CacheLoader` anonymous class
JIRA: https://jira.spring.io/browse/INT-3781
- Add mechanisms to set status code on an inbound gateway timeout.
- Send a message to the error channel if configured.
Polishing - Add failedMessage to MTE
Fix Schema Docs; Timeout Detection on Error Flow
Add Zookeeper Leadership Logs
Fix typo in the `SmartLifecycleRoleController`
JIRA: https://jira.spring.io/browse/INT-3683
* In addition fix `inputs` for the Gradle `generateSql` task and regenerate all SQLs
to apply the typo fix.
The previous way to generate sql scripts doesn't work properly. It is always as `UP-TO-DATE`.
Adding `inputs` to the `generateSql` show the correct behaviour.
From other side that makes `cleanSql` task as redundant.
* Applying the Travis config fix to this commit as well.
Fix HTTP test timeout
https://build.spring.io/browse/INT-B41-346
Fix `ProducerAndConsumerAutoStartupTests`
https://build.spring.io/browse/INT-B41-346
Fix `DelayerUsageTests` `time` bean scope bug
https://build.spring.io/browse/INT-B41-347
Fix `HttpInboundGatewayParserTests.java` generics Java < 8 compiler warnings
Increase Tomcat response timeout for WebSocket tests
https://build.spring.io/browse/INT-B41-349
Increase timeout in the `AsyncMessagingTemplateTests#executionException()`
Fix `ClassCastException` for the `StandardWebSocketClient#userProperties`
Increase Delay to 2 Seconds in DelayHandlerTests
JIRA: https://jira.spring.io/browse/INT-3780
- Move `s-i-test` to top of file to avoid deprecation warning
- Change `jacoco` to use the Gradle plugin
- Enable generation of `jacoco` coverage html report
- Hibernate tests need `javax.persistence` `2.1` eclipselink pulls in `2.0`;
works ok with gradle 2.3, but with 2.5 the 2.0 versions are loaded.
- replace `jpaApiVersion` build variable with the `jpa21ApiVersion`
This should be treated as experimental but with these changes it seems to build ok.
BUILD SUCCESSFUL
Total time: 5 mins 15.533 secs
It turns out that our sporadic Redis problems were fixed in a later version of Jedis.
The problem was that the `connection.subscribe()` exited immediately. When I started adding debug
logic, the problem went away (because I was using a newer versio of Jedis).
spring-data-redis 1.5.2 is updated to work with the 2.7.3 version of Jedis.
Polishing
JIRA: https://jira.spring.io/browse/INT-3765
The `beanFactory.getBeanNamesForType(Class<?> aClass)`
has eager `FactoryBean` loading logic and using it from the `BeanPostProcessor`
may cause an issue with late-binding beans like auto-created `MessageChannel`.
The change that code to the
```
beanFactory.getBeanNamesForType(IntegrationMBeanExporter.class, false, false)
```
to bypass `FactoryBean`s eager initialization.
All other similar usage throughout the project are OK, because they are already outside of any `BPP`
**Cherry-pick to 4.1.x and 4.0.x**
JIRA: https://jira.spring.io/browse/INT-3767
The `JpaInboundChannelAdapterParser` has missed to parse `parameter-source`,
as well as the parser test-case has been missed.
In addition fix JPA xsd for wrong type references.
JIRA: https://jira.spring.io/browse/INT-3777
INT-3777: Reference guide still mentions SI 4.1.x version in the
Requirements paragraph
* fix Spring Integration references to version 4.2.x of the library in
the Requirements paragraph
* increase the Spring Framework minimum requirement to 4.2.0 as declared
in build.gradle
* add a space between the Spring library names and versions to improve
readability
JIRA: https://jira.spring.io/browse/INT-2466
Current reference documentation says that: "If the incoming web service
message is a SOAP message the SOAP Action header will be added to the
headers of the Message that is forwarded onto the request channel."
However, `DefaultSoapHeaderMapper` was actually missing to do that.
Polishing
JIRA: https://jira.spring.io/browse/INT-3566
When using a named replyTo queue/topic if the connection was lost between the
request and reply, the connection was not recovered.
Retry consuming until the timeout expires.
INT-3566: Polishing; PR Comments
INT-3566: Remove Broker from Test Case
JIRA: https://jira.spring.io/browse/INT-3773
When the `FileExistsMode` was `FAIL` or `IGNORE` and the remote file
did NOT exist, the file was not written.
JIRA: https://jira.spring.io/browse/INT-3425
Deprecate `TcpConnectionEventListeningMessageProducer` in favor
of using a generic event inbound channel adapter.
Polishing
JIRA: https://jira.spring.io/browse/INT-3766
Previously the `GatewayProxyFactoryBean` detected the presence of `Environment` before
looking for `Promise` return types. This caused initialization failures if
`reactor-core` was on the classpath, but not `reactor-stream`.
Change `reactorPresent` to look for the `Promise` class intead of `Environment`.
JIRA: https://jira.spring.io/browse/INT-3755
JIRA: https://jira.spring.io/browse/INT-3756
Previously JMX was required to enable capturing message counts and statistics.
This is now a separate operation from JMX and can be enabled independently.
For backwards compatibility, enabling JMX will automatically enable statistics
(unless separately configured).
INT-3755: Polishing; PR Comments
Doc Polishing
JavaDocs polishing
Spring IO Platform 2.0 will remove the managed versions .properties
file as support for it has been removed in Spring Boot 1.3.
This commit moves the build onto a new version of the Spring IO Plugin
that uses the Maven bom rather than the properties file.
JIRA: https://jira.spring.io/browse/INT-3617
Start/stop `SmartLifecyle` beans with leader election/revocation.
ZK Namespace Support
Add Annotation Support
INT-3617: Polishing
Add `SmartLifecycle` to listener parser.
INT-3617: Polishing; PR Comments
Revert SmartLifecycleRoleController
Remove reflection.
Remove Dependence on spring-cloud-cluster
Temporarily move the relevant classes here.
Polishing; PR Comments and Fix Test
Test was incorrectly stopping the LeaderInitiator before it was elected.
Set auto-startup="false" in the i-c-a so we wait for its start before
stopping the LeaderInitiator.
Fix JavaDocs
JIRA: https://jira.spring.io/browse/INT-3759
Add `IntegrationManagementConfigurer` to globally set the default.
This will be documented/expanded when JIRAs 3755/3756 are implemented.
Polishing; PR Comments
Test Polishing
JIRA: https://jira.spring.io/browse/INT-3752
JIRA: https://jira.spring.io/browse/INT-3754
The statistics are based on this count so, for example the
`meanSendDuration` reflects the mean of total duration from the first send to
the last in each batch.
Also change the linked lists to `Deque`s.
Also remove `isTraceEnabled()` calls - too expensive in high volume environments.
Polishing
Assign the count to a local variable so the mod (%) operation is short
circuited rather than short circuiting the call to isFullStatsEnabled().
INT-3752: Fix Aggregating Metrics
Previously, the duration was for the first message in each sample.
We need to capture the total elapsed time for the sample and use it
for the duration calculation.
Add 'newCount' to the context so the after... method can calculate
the duration at the end of the sample.
The start field does not need to be volatile because its updates
are synchronized.
INT-3752: Fix Javadocs
JIRA: https://jira.spring.io/browse/INT-3583
Previously, the `ref` or inner bean for an aggregator was wrapped
in a `MethodInvokingMessageGroupProcessor` for POJO aggregation logic.
Now, if the ref'd bean is a `MessageGroupProcessor`, it is used as the
output processor directly.
Also, the `SimpleMessageGroupProcessor` is added which simply returns the
collection of messages.
INT-3583: Polishing; PR Comments
Fix AsciiDoc
Revert `CorrelationMessageBarrier` deprecation
Fix Docs for wrong chapter link
JIRA: https://jira.spring.io/browse/INT-2507
When using a `HeadDirectoryScanner`, the use of any filter removed the
size limitation passed into the contstructor (or `queue-size` attribute
of a file inbound channel adapter.
The `HeadFilter` was overwritten.
Combine the head filter into a `CompositeFileListFilter` (creating one
if necessary).