Spring 集成 DSL 已弃用 class 用法

Spring Integration DSL deprecated class usage

我在此版本中使用 spring 集成和 java-dsl 依赖项。

因为新的 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

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

和下面的代码,它抛出 class 未找到异常:

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

另一个 class 在此包中: org.springframework.integration.config.dsl

它不使用 IntegrationEvaluationContextAware。

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

这可能是什么原因?

谢谢

我阅读了 Spring Integration 4.3 到 5.0 的迁移指南,我看到了这个: Java DSL Spring Integration Java DSL 已经合并到核心项目具有 Java 8 个代码库。旧项目保留用于以前的 Spring 集成版本,并且与版本 5.0 不兼容。我删除了 java-dsl 依赖项,我的项目开始工作了。抱歉我的问题