jdbc支持群集模式下的通道

时间:2015-06-12 00:35:19

标签: jdbc cluster-computing spring-integration

我想使用jdbc支持的消息通道。阅读文档说它得到了支持,但之后我在论坛中找到了一个明确表示不会的话题。如果它得到支持,请你澄清一下吗?在这种情况下,你可以指导我这样做吗?提前谢谢!

文档:http://docs.spring.io/spring-integration/docs/4.2.0.BUILD-SNAPSHOT/reference/html/jdbc.html#jdbc-message-store-channels

主题论坛:http://forum.spring.io/forum/spring-projects/integration/104995-spring-poller-against-jdbc-backed-queue-channel-clustered-mode

1 个答案:

答案 0 :(得分:1)

我猜你的意思是<queue>频道MessageStore引用。 有了它,我们真的可以拥有群集范围的通道,它允许每个群集只传输一条消息。这意味着只有一个消费者能够从该持久性队列中提取消息,并且保证在系统故障期间不会丢失消息。

我认为Spring Integration有一个答案,而且正是JdbcChannelMessageStore

你所面对的论坛帖子已经足够了。自那以后世界发生了变化。

例如,请注意OracleChannelMessageStoreQueryProvider及其getPollFromGroupQuery()实施。有一个查询提示:

FOR UPDATE SKIP LOCKED

保证每笔交易的单行。其他事务跳过锁定的行并锁定它们自己的行。如果事务成功,则删除消息行。

所以,我希望这就是你所要求的。