【问题标题】:How to override default spring integration configuration如何覆盖默认的spring集成配置
【发布时间】:2014-06-26 21:13:29
【问题描述】:

例如: xmlns:int-jdbc="http://www.springframework.org/schema/integration/jdbc"

<int-jdbc:inbound-channel-adapter.......

我希望它使用我的自定义实现,所以我需要知道 1)它使用什么类(所以我可以扩展它并覆盖任何东西) 2)而不是我如何告诉它使用我的新类而不是默认类。

这可能吗?

谢谢

【问题讨论】:

    标签: spring-integration


    【解决方案1】:

    目前无法使用 XML 命名空间注入您自己的实现,但您可以简单地连接 &lt;bean/&gt; 定义。毕竟,这就是命名空间解析器所做的一切。

    在这种情况下,您需要一个 SourcePollingChannelAdapterFactoryBean 类的 bean,它需要 PollerMetadata 和一个 source(并创建一个 SourcePollingChannelAdapter),而 source 是一个 JdbcPollingChannelAdapter 类的 bean(它是MessageSource)。

    所以你可以继承JdbcPollingChannelAdapter

    如果您认为您的实施将具有广泛的吸引力,请打开一个 JIRA 问题并考虑贡献它。

    【讨论】:

    • 谢谢 Gary,有没有一种简单的方法可以了解基于模式的配置生成了哪些 定义。
    • 目前没有;您必须深入研究命名空间解析器,例如 JDBC adapter parser 及其超类。另一种选择(使用 Spring Integration 4.0)是在 @Bean 类型的 MessageSource 上使用 java @Configuration@InboundChannelAdapter 注释。
    猜你喜欢
    • 2014-07-04
    • 2016-06-06
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2020-02-05
    • 1970-01-01
    相关资源
    最近更新 更多