Spring Integration DSL deprecated class usage

1.6k views Asked by At

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

1

There are 1 answers

0
gbalcisoy On BEST ANSWER

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