【发布时间】:2015-06-12 09:13:59
【问题描述】:
我想使用 jdbc 支持的消息通道。阅读文档说它是受支持的,但之后我在论坛中发现了一个明确表示不支持的帖子。如果它被支持,你能澄清一下吗?在这种情况下,你能指导我这样做吗?提前致谢!
【问题讨论】:
标签: jdbc cluster-computing spring-integration
我想使用 jdbc 支持的消息通道。阅读文档说它是受支持的,但之后我在论坛中发现了一个明确表示不支持的帖子。如果它被支持,你能澄清一下吗?在这种情况下,你能指导我这样做吗?提前致谢!
【问题讨论】:
标签: jdbc cluster-computing spring-integration
我猜你的意思是<queue> 频道和MessageStore 参考。
有了它,我们真的可以拥有集群范围的通道,它允许每个集群只传输一条消息。这意味着只有一个消费者能够从该持久性队列中提取消息,并且 3is 保证在系统故障期间不会丢失消息。
我认为 Spring Integration 可以为您提供答案,这正是JdbcChannelMessageStore。
您所面对的论坛帖子已经足够老了。从那以后,世界发生了变化。
例如,注意OracleChannelMessageStoreQueryProvider 及其getPollFromGroupQuery() 实现。有一个查询提示,如:
FOR UPDATE SKIP LOCKED
保证每个事务的单行。其他事务跳过锁定的行并锁定自己的行。如果事务成功,则删除消息行。
所以,我希望这是你问的。
【讨论】: