MessageStore使用Spring Integration + Java Config支持QueueChannel

时间:2015-09-12 12:38:39

标签: java spring spring-integration

Spring Integration reference guide指的是使用MessageStore实现为QueueChannel提供持久性。

它已多次提到,但所有示例都使用XML配置,即

<int:channel id="dbBackedChannel">
    <int:queue message-store="channelStore"/>
</int:channel>

<bean id="channelStore" class="o.s.i.jdbc.store.JdbcChannelMessageStore">
    <property name="dataSource" ref="dataSource"/>
    <property name="channelMessageStoreQueryProvider" ref="queryProvider"/>
</bean>

但是QueueChannel的实现没有设置MessageStore的方法

那么如何在不使用XML配置的情况下使用MessageStore创建QueueChannel?

1 个答案:

答案 0 :(得分:4)

反向设计XML配置的功能,这就是答案。

您在MessageGroupQueue

中包装了MessageStore

所以它看起来像这样

@Bean
public MessageChannel messageStoreBackedChannel() {
    return new QueueChannel(
        new MessageGroupQueue(<<MessageStoreImplementation>>, "Group ID")
    );
}