java - MessageStore 通过 Spring Integration+ Java Config 支持 QueueChannel

标签 java spring spring-integration

Spring 集成 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?

最佳答案

逆向工程 XML 配置所做的,这就是答案。

您将 MessageStore 包装在 MessageGroupQueue

所以它看起来像这样

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

关于java - MessageStore 通过 Spring Integration+ Java Config 支持 QueueChannel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538885/

相关文章:

java - 按 "run app"时出现 Gradle 错误 - Android Studio 0.4.3 [无法创建 Tooling API 实例]

java - 删除具有特定值的子树

java - 如何等待QueueChannel处理所有消息?

java - 如何使用 request-handler-advice-chain 和 ExpressionEvaluatingRequestHandlerAdvice?

java - Spring 集成: Reading from Kafka Queue

java - 如何转换日期格式

Java 查找数组中的元素

java - 在 postman api 中工作正常,但在 java 中则不然

java - 仅向登录用户显示注销按钮

java - Redis Pub/Sub 与 Spring Data Redis : Messages arrive in wrong order