Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP)
Java CSS HTML XSLT Groovy Ruby
Latest commit d9f9f9e Jul 1, 2016 @artembilan artembilan committed with garyrussell INT-4064: Simplify `IdempotentReInt` Java Config
JIRA: https://jira.spring.io/browse/INT-4064

We configure `IdempotentReceiver` via `<int:idempotent-receiver>` component or `@IdempotentReceiver` annotation.
In case of regular Java config, e.g. direct `ConsumerEndpointFactoryBean` usage or Java DSL,
it isn't possible to configure `idempotentReceiverInterceptor` enough easy

* Introduce `if...else` logic into `ConsumerEndpointFactoryBean` to proxy `MessageHandler`,
if `adviceChain` contains an newly-introduced `HandleMessageAdvice`.
And do that independently if `MessageHandler` is `AbstractReplyProducingMessageHandler`
* Make `idempotentReceiverInterceptor extends HandleMessageAdvice`
* Skip `HandleMessageAdvice` in the `AbstractReplyProducingMessageHandler`
* Add advice applying logic into the `AbstractMethodAnnotationPostProcessor` as well

Introduce `HandleMessageAdvice` marker interceptor to cover the case when an `Advice` can be advices as well.
Remove unused `setAdviceChainIfPresent()` method in the `AbstractMethodAnnotationPostProcessor`

Document `HandleMessageAdvice`

Increase wait latch timeouts in the `LockRegistryLeaderInitiatorTests`

Doc Polishing
Failed to load latest commit information.
gradle/wrapper Upgrade to Gradle 2.14 and SF-4.3.1 Jun 20, 2016
spring-integration-amqp/src INT-4045: Fix NPE in ObjectToJsonTransformer Jun 6, 2016
spring-integration-bom INT-3397 Add spring-integration-bom May 1, 2014
spring-integration-core/src INT-4064: Simplify `IdempotentReInt` Java Config Jul 22, 2016
spring-integration-event/src More File Cleanup - Core Jun 5, 2016
spring-integration-feed/src File Cleanup - Event to JMX Jun 4, 2016
spring-integration-file INT-4067: Cover empty file case in `FileSplitter` Jul 11, 2016
spring-integration-ftp INT-4049: FileSplitter: JSON File Markers Jun 8, 2016
spring-integration-gemfire/src Gemfire: some fixes and optimization for tests Jul 1, 2016
spring-integration-groovy/src INT-4055: Fix New SonarQube Violations Jun 27, 2016
spring-integration-http/src File Cleanup - Event to JMX Jun 4, 2016
spring-integration-ip/src INT-4057: Router: don't use convert for Class key Jul 11, 2016
spring-integration-jdbc INT-4055: Fix New SonarQube Violations Jun 27, 2016
spring-integration-jms/src File Cleanup - Event to JMX Jun 4, 2016
spring-integration-jmx/src INT-4064: Simplify `IdempotentReInt` Java Config Jul 22, 2016
spring-integration-jpa/src File Cleanup - JPA to RMI Jun 4, 2016
spring-integration-mail/src File Cleanup - JPA to RMI Jun 4, 2016
spring-integration-mongodb/src File Cleanup - JPA to RMI Jun 4, 2016
spring-integration-mqtt/src checkstyle WhiteAround Apr 5, 2016
spring-integration-redis INT-1463 Fix PriorityChannel#getRemainingCapacity Jul 1, 2016
spring-integration-rmi/src File Cleanup - JPA to RMI Jun 4, 2016
spring-integration-scripting/src File Cleanup - Scripting to Twitter Jun 4, 2016
spring-integration-security/src INT-4072 Fix applySequence with State Propagation Jul 21, 2016
spring-integration-sftp INT-4046: Add `FtpRemoteFileTemplate.ExistsMode` Jun 8, 2016
spring-integration-stomp/src INT-4075: Fix NPE in AbstractStompSessionManager Jul 20, 2016
spring-integration-stream/src File Cleanup - Scripting to Twitter Jun 4, 2016
spring-integration-syslog/src File Cleanup - Scripting to Twitter Jun 4, 2016
spring-integration-test/src GH-1824: Comment Out HeapDumper in s-i-test Jun 7, 2016
spring-integration-twitter/src File Cleanup - Scripting to Twitter Jun 4, 2016
spring-integration-websocket/src INT-4039: Add Allowed Origins to WebSockets May 26, 2016
spring-integration-ws/src File Cleanup - ws to xmpp Jun 4, 2016
spring-integration-xml/src INT-4063: Extend Types for DefXmlPayloadConverter Jul 22, 2016
spring-integration-xmpp/src File Cleanup - ws to xmpp Jun 4, 2016
spring-integration-zookeeper/src INT-4058: Add leader initiator for lock registry Jun 22, 2016
src INT-4064: Simplify `IdempotentReInt` Java Config Jul 22, 2016
.gitignore File Cleanup - Core Jun 4, 2016
.travis.yml INT-4019: Upgrade to Gradle-2.13 Apr 29, 2016
CODE_OF_CONDUCT.adoc Add Contributor Covenant Feb 1, 2016
CONTRIBUTING.adoc CLA Hook Jul 11, 2016
README.md INT-3777: Update Preface Compatibility Info Jul 20, 2015
build.gradle INT-4067: Cover empty file case in `FileSplitter` Jul 11, 2016
gradle.properties [artifactory-release] Next development version Jun 13, 2016
gradlew INT-4019: Upgrade to Gradle-2.13 Apr 29, 2016
gradlew.bat INT-4019: Upgrade to Gradle-2.13 Apr 29, 2016
publish-maven.gradle INT-3516: Allow `Optional<>` in POJO Method Args Oct 20, 2014
settings.gradle INT-3685: Introduce STOMP Adapters May 26, 2015

README.md

Spring Integration

Checking out and Building

To check out the project and build from source, do the following:

git clone git://github.com/spring-projects/spring-integration.git
cd spring-integration
./gradlew build

NOTE: While Spring Integration runs with Java SE 6 or higher, a Java 8 compiler is required to build the project.

If you encounter out of memory errors during the build, increase available heap and permgen for Gradle:

GRADLE_OPTS='-XX:MaxPermSize=1024m -Xmx1024m'

To build and install jars into your local Maven cache:

./gradlew install

To build api Javadoc (results will be in build/api):

./gradlew api

To build reference documentation (results will be in build/reference):

./gradlew reference

To build complete distribution including -dist, -docs, and -schema zip files (results will be in build/distributions)

./gradlew dist

Using Eclipse

To generate Eclipse metadata (.classpath and .project files), do the following:

./gradlew eclipse

Once complete, you may then import the projects into Eclipse as usual:

File -> Import -> Existing projects into workspace

Browse to the 'spring-integration' root directory. All projects should import free of errors.

Using IntelliJ IDEA

To generate IDEA metadata (.iml and .ipr files), do the following:

./gradlew idea

Resources

For more information, please visit the Spring Integration website at: http://projects.spring.io/spring-integration