Spring Integration DSL弃用了类使用

时间:2017-09-08 09:10:14

标签: spring-integration spring-integration-dsl

我在这个版本中使用了spring integration和java-dsl依赖项。

  • 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
  • 弹簧整合-java的DSL- 1.2.2RELEASE

由于新的JdbcMetadataStore,我必须使用5.0.0M6版本。

上周,我使用了spring集成4.3.11RELEASE和java-dsl-1.2.2RELEASE,我的应用程序运行了。

升级过程后,抛出此运行时异常:

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

IntegrationFlowBeanPostProcessor类定义有2个,我的应用程序可以使用它: org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor

以及下面的代码,它会抛出class not found exception:

if (component instanceof org.springframework.integration.expression.IntegrationEvaluationContextAware)

另一个类在这个包中: org.springframework.integration.config.dsl

它不使用IntegrationEvaluationContextAware。

但是我的应用程序可以使用第一个。

可能是什么原因?

由于

1 个答案:

答案 0 :(得分:0)

我现在阅读了《 Spring Integration 4.3到5.0迁移指南》,并且看到了以下内容:Java DSL Spring Integration Java DSL已通过Java 8代码库合并到Core项目中。旧项目仍然适用于以前的Spring Integration版本,并且与5.0版本不兼容。我删除了java-dsl依赖关系,并且我的项目正常工作。对不起,我的问题