Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP)

INT-3661: Fix the eager BF access from BPPs (P I)

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

Previously there were a lot of noise from the `PostProcessorRegistrationDelegate$BeanPostProcessorChecker` for early access for beans.
That may produce some side-effects when some of `BeanFactoryPostProcessor`s won't adjust those beans.

The issue is based on two facts:
1. Loading beans from `BPP`, e.g. `IntegrationEvaluationContextAwareBeanPostProcessor` (or `ChannelSecurityInterceptorBeanPostProcessor` - https://jira.spring.io/browse/INT-3663)
2. Loading beans from `setBeanFactory()/setApplicationContext()` container methods

* Move all code from `setBeanFactory()` with access to the `BeanFactory` (e.g. `this.messageBuilderFactory = IntegrationUtils.getMessageBuilderFactory(this.beanFactory);`)
to some other lazy-load methods like `getMessageBuilderFactory()`
* Fix parser tests to remove `messageBuilderFactory` tests since there is no activity for target components to lazy-load them
* Polish some test according the new lazy-load logic
* Rework `IntegrationEvaluationContextAwareBeanPostProcessor` to the `SmartInitializingSingleton` and make it `Ordered`
* Populate `beanFactory` for the internal instance of `connectionFactory` in the `TcpSyslogReceivingChannelAdapter`
* Populate `beanFactory` for the internal `UnicastReceivingChannelAdapter` in the `UdpSyslogReceivingChannelAdapter`
* Add `log.info` that `UdpSyslogReceivingChannelAdapter` overrides `outputChannel` for the provided `UnicastReceivingChannelAdapter`
* Change the internal `MessageChannel` in the `UdpSyslogReceivingChannelAdapter` to the `FixedSubscriberChannel` for better performance

* Fix `AbstractExpressionEvaluator`
* Add JavaDocs for the `IntegrationEvaluationContextAware`

Fix `MongoDbMessageStoreClaimCheckIntegrationTests`

Addressing PR comments
latest commit 2bde14b742
Artem Bilan artembilan authored garyrussell committed
Failed to load latest commit information.
gradle/wrapper INT-3629: Upgrade to Gradle `2.3`
spring-integration-amqp/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-bom INT-3397 Add spring-integration-bom
spring-integration-core/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-event/src INT-3589: Upgrade Dependencies
spring-integration-feed/src INT-3632: Sonar Improvements
spring-integration-file INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-ftp INT-3632: Sonar Improvements
spring-integration-gemfire/src INT-3581: Support selector-expression on WireTap
spring-integration-groovy/src INT-3637: JMX Improvements Msg Sources/Handlers
spring-integration-http/src INT-3626: More Sonar Fixes
spring-integration-ip/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-jdbc INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-jms/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-jmx/src INT-3651: JMX Improvements Documentation
spring-integration-jpa/src INT-3581: Support selector-expression on WireTap
spring-integration-mail/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-mongodb/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-mqtt/src INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-redis INT-3661: Fix the eager BF access from BPPs (P I)
spring-integration-rmi/src INT-3581: Support selector-expression on WireTap
spring-integration-scripting/src INT-3581: Support selector-expression on WireTap
spring-integration-security/src INT-3581: Support selector-expression on WireTap
spring-integration-sftp INT-3589: Upgrade Dependencies
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-3632: Sonar Improvements
spring-integration-twitter/src INT-3581: Support selector-expression on WireTap
spring-integration-websocket/src INT-3580: Polishing to the last STOMP tests fix
spring-integration-ws/src INT-3581: Support selector-expression on WireTap
spring-integration-xml/src INT-3626: More Sonar Fixes
spring-integration-xmpp/src INT-3581: Support selector-expression on WireTap
src INT-3651: JMX Improvements Documentation
.gitignore INT-3352 RedisLockRegistry
.travis.yml Enable RabbitMQ MQTT Plugin on Travis
CONTRIBUTING.md Update CONTRIBUTING.md
README.md Fix Project URL in README
build.gradle INT-3628: Use SchedulingAwareRunner for Long Tasks
gradle.properties Bump Version to 4.2.0.BUILD-SNAPSHOT
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-3418: Prepare 4.1 VERSION

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

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.