Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP)
Java CSS HTML XSLT Ruby Groovy

INT-2166: Add SecurityContext Propagation

JIRA: https://jira.spring.io/browse/INT-2166

* Introduce `ThreadStatePropagationChannelInterceptor` based on the `ExecutorChannelInterceptor`
* Add `SecurityContextPropagationChannelInterceptor`,`SecurityContextCleanupChannelInterceptor`
* Introduce `AbstractExecutorChannel` to utilize `ExecutorChannelInterceptor` logic
* Introduce `MessageHandlingTaskDecorator` to avoid package tangle from `dispatcher` and `channel`
* Introduce `SecurityContextCleanupAdvice` for those cases when we don't get deal with `MessageChannel`s already, but want to have proper way to cleanup `SecurityContext`
* Make `GlobalChannelInterceptorProcessor` as `SmartInitializingSingleton` to avoid `phase` conflicts.
* Fix `MessagingAnnotationPostProcessor` to use `beanFactory.initializeBean(endpoint, endpointBeanName);` instead of manual `start()` invocation bypassing the `phase` logic, hence having a bug, when endpoints have been started very early
* Optimise `AbstractPollableChannel` to use `size` field from `ChannelInterceptorList` instead of `size()` from `Collection<?>`
* Fix `AnnotatedEndpointActivationTests` extracting separate component for annotation configuration instead of using test class directly. This caused very late Messaging Annotations process on that class
* Fix typo in the `spring-integration-jdbc-4.2.xsd`
* Remove some `SOUT`s throughout the project

TODO Docs

PR Comments:

* Remove redundant `AbstractExecutorChannel#executorInterceptors` and make logic based on the `super.interceptors`
 * Fix wrong imports order
 * JavaDocs for `ThreadStatePropagationChannelInterceptor`
 * Docs for `SecurityContext` propagation

INT-3593: Fix FTP PartialSuccess Tests

JIRA: https://jira.spring.io/browse/INT-3593

Sort the files for the MPUT tests.

INT-2166: Add SecurityContext Propagation

JIRA: https://jira.spring.io/browse/INT-2166

* Introduce `ThreadStatePropagationChannelInterceptor` based on the `ExecutorChannelInterceptor`
* Add `SecurityContextPropagationChannelInterceptor`,`SecurityContextCleanupChannelInterceptor`
* Introduce `AbstractExecutorChannel` to utilize `ExecutorChannelInterceptor` logic
* Introduce `MessageHandlingTaskDecorator` to avoid package tangle from `dispatcher` and `channel`
* Introduce `SecurityContextCleanupAdvice` for those cases when we don't get deal with `MessageChannel`s already, but want to have proper way to cleanup `SecurityContext`
* Make `GlobalChannelInterceptorProcessor` as `SmartInitializingSingleton` to avoid `phase` conflicts.
* Fix `MessagingAnnotationPostProcessor` to use `beanFactory.initializeBean(endpoint, endpointBeanName);` instead of manual `start()` invocation bypassing the `phase` logic, hence having a bug, when endpoints have been started very early
* Optimise `AbstractPollableChannel` to use `size` field from `ChannelInterceptorList` instead of `size()` from `Collection<?>`
* Fix `AnnotatedEndpointActivationTests` extracting separate component for annotation configuration instead of using test class directly. This caused very late Messaging Annotations process on that class
* Fix typo in the `spring-integration-jdbc-4.2.xsd`
* Remove some `SOUT`s throughout the project

TODO Docs

PR Comments:

* Remove redundant `AbstractExecutorChannel#executorInterceptors` and make logic based on the `super.interceptors`
 * Fix wrong imports order
 * JavaDocs for `ThreadStatePropagationChannelInterceptor`
 * Docs for `SecurityContext` propagation

Doc Polishing

Address PR comments

Address PR comments

* Extract `ExecutorChannelInterceptor` logic in the `PollingConsumer`
to have an ability to invoke `afterMessageHandled()` on the TaskScheduler's Thread
for example for the `SecurityContext` clean up
* Get rid of all that redundant "clean up" stuff
* Docs polishing

Fix `NPE` in the `PollingConsumer`

Introduce `ExecutorChannelInterceptorAware` to avoid iterators on each message

Polishing; Docs, Sonar
latest commit 09fb4f78c9
@artembilan artembilan authored garyrussell committed
Failed to load latest commit information.
gradle/wrapper INT-3780: Update to Gradle 2.5
spring-integration-amqp/src INT-2166: Add SecurityContext Propagation
spring-integration-bom INT-3397 Add spring-integration-bom
spring-integration-core/src INT-2166: Add SecurityContext Propagation
spring-integration-event/src INT-3425: Deprecate TCP Event Channel Adapter
spring-integration-feed/src INT-3783: Make JPA module compatible with IO
spring-integration-file INT-3786: Fix Several Sporadic Test Failures
spring-integration-ftp INT-3593: Fix FTP PartialSuccess Tests
spring-integration-gemfire/src INT-3786: Fix Several Sporadic Test Failures
spring-integration-groovy/src INT-3637: JMX Improvements Msg Sources/Handlers
spring-integration-http/src INT-3781: Configure HTTP GW Timeout Status Code
spring-integration-ip/src INT-3786: Fix Several Sporadic Test Failures
spring-integration-jdbc INT-2166: Add SecurityContext Propagation
spring-integration-jms/src INT-2166: Add SecurityContext Propagation
spring-integration-jmx/src INT-2166: Add SecurityContext Propagation
spring-integration-jpa/src INT-3786: Fix Several Sporadic Test Failures
spring-integration-mail/src INT-3789: Upgrade to SF 4.2 and other fixes
spring-integration-mongodb/src INT-3642: Improve MessageGroupStore Removal
spring-integration-mqtt/src INT-3617: ZK Leader Event Processing
spring-integration-redis Experimental: Support Gradle --parallel
spring-integration-rmi/src Experimental: Support Gradle --parallel
spring-integration-scripting/src INT-3751: Fix Python Scripting
spring-integration-security/src INT-2166: Add SecurityContext Propagation
spring-integration-sftp INT-3763: (S)FTP - Inbound Remote Dir. Expression
spring-integration-stomp/src INT-3786: Fix Several Sporadic Test Failures
spring-integration-stream/src INT-3581: Support selector-expression on WireTap
spring-integration-syslog/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-test/src INT-3784: Use acknowledge="transacted" by Default
spring-integration-twitter/src INT-3749: Revert setters for `EC`
spring-integration-websocket/src INT-3683: Fix typo in `schema.sql.vpp`
spring-integration-ws/src INT-2166: Add SecurityContext Propagation
spring-integration-xml/src INT-3599/INT-2042: Improve `XPathMessageSplitter`
spring-integration-xmpp/src INT-3581: Support selector-expression on WireTap
spring-integration-zookeeper/src INT-3781: Configure HTTP GW Timeout Status Code
src INT-2166: Add SecurityContext Propagation
.gitignore INT-3352 RedisLockRegistry
.travis.yml INT-3780: Update to Gradle 2.5
CONTRIBUTING.md Update CONTRIBUTING.md
README.md INT-3777: Update Preface Compatibility Info
build.gradle INT-2166: Add SecurityContext Propagation
gradle.properties [artifactory-release] Next development version
gradlew INT-2907: Upgrade to Gradle 1.4
gradlew.bat INT-2681 - Upgrade to Gradle 1.0 GA
publish-maven.gradle INT-3516: Allow `Optional<>` in POJO Method Args
settings.gradle INT-3685: Introduce STOMP Adapters

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

Something went wrong with that request. Please try again.