我想使用jdbc支持的消息通道。阅读文档说它得到了支持,但之后我在论坛中找到了一个明确表示不会的话题。如果它得到支持,请你澄清一下吗?在这种情况下,你可以指导我这样做吗?提前谢谢!
答案 0 :(得分:1)
我猜你的意思是<queue>
频道MessageStore
引用。
有了它,我们真的可以拥有群集范围的通道,它允许每个群集只传输一条消息。这意味着只有一个消费者能够从该持久性队列中提取消息,并且保证在系统故障期间不会丢失消息。
我认为Spring Integration有一个答案,而且正是JdbcChannelMessageStore
。
你所面对的论坛帖子已经足够了。自那以后世界发生了变化。
例如,请注意OracleChannelMessageStoreQueryProvider
及其getPollFromGroupQuery()
实施。有一个查询提示:
FOR UPDATE SKIP LOCKED
保证每笔交易的单行。其他事务跳过锁定的行并锁定它们自己的行。如果事务成功,则删除消息行。
所以,我希望这就是你所要求的。