入站通道适配器 class 覆盖

Inbound channel adapter class override

有没有办法覆盖 Spring 集成元素,最好是在 XML 中?我有一个 JMS 入站通道适配器,在某些环境下我想切换到文件适配器。我尝试在 XML 上下文文件的末尾使用基于配置文件的导入来覆盖 bean 定义,但似乎并没有覆盖两个端点。

如果您处理 XML 配置,那么在根 <beans> 标记上带有 profile 的配置文件中的那些不同通道适配器就足够了:https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-definition-profiles-xml.

你的两个通道适配器都可以指向在其他一些通用配置中声明的同一个通道。然后通过 <import> 将所有这些组合到主配置中,只有那些满足活动配置文件的才会在配置阶段被激活。