I use spring integration and java-dsl dependencies with this versions.
- spring-integration-jdbc- 5.0.0M6
- spring-integration-ws- 5.0.0M6
- spring-integration-http- 5.0.0M6
- spring-integration-jmx- 5.0.0M6
- spring-integration-core- 5.0.0M6
- spring-integration-java-dsl- 1.2.2RELEASE
I must use 5.0.0M6 version because of new JdbcMetadataStore.
Last week, I used spring integration 4.3.11RELEASE and java-dsl-1.2.2RELEASE and my application worked.
After the upgrade process, this runtime exception is thrown:
Caused by: java.lang.NoClassDefFoundError: org/springframework/integration/expression/IntegrationEvaluationContextAware
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.registerComponent(IntegrationFlowBeanPostProcessor.java:280) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.processStandardIntegrationFlow(IntegrationFlowBeanPostProcessor.java:242) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.processIntegrationFlowImpl(IntegrationFlowBeanPostProcessor.java:254) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.postProcessBeforeInitialization(IntegrationFlowBeanPostProcessor.java:103) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) ~[spring-beans-5.0.0.RC3.jar:5.0.0.RC3]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1707) ~[spring-beans-5.0.0.RC3.jar:5.0.0.RC3]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.0.0.RC3.jar:5.0.0.RC3]
... 15 common frames omitted
There are 2 of The IntegrationFlowBeanPostProcessor class definition and my application work to use this: org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor
and the code below, it throws class not found exception:
if (component instanceof org.springframework.integration.expression.IntegrationEvaluationContextAware)
The other class is in this package: org.springframework.integration.config.dsl
It don't use IntegrationEvaluationContextAware.
But my application works to use the first one.
What can be the reason of it?
Thanks
I read Spring Integration 4.3 to 5.0 Migration Guide now and I see this: Java DSL The Spring Integration Java DSL has been merged to the Core project with Java 8 code base. The old project remains for the previous Spring Integration versions and isn't compatible with version 5.0. I remove the java-dsl dependency and my project works. Sorry for my question