jdbc 集群模式下的支持通道
jdbc backed channel on a cluster mode
我想使用 jdbc 支持的消息通道。阅读文档说它受支持,但之后我在论坛中发现一个线程明确表示不支持。如果支持,能否请您澄清一下?在这种情况下,你能指导我这样做吗?提前致谢!
我猜你指的是带有 MessageStore
参考的 <queue>
频道。
有了它,我们真的可以拥有集群范围的通道,它允许每个集群只传输一条消息。这意味着只有一个消费者能够从该持久性队列中提取消息,并且 3is 保证在系统故障期间不会丢失消息。
我认为 Spring 集成为您提供了答案,正是 JdbcChannelMessageStore
。
您所面对的论坛post已经够老了。从此世界发生了翻天覆地的变化。
例如,注意 OracleChannelMessageStoreQueryProvider
及其 getPollFromGroupQuery()
实现。有一个查询提示,如:
FOR UPDATE SKIP LOCKED
保证每个事务只有一行。其他事务跳过锁定的行并锁定它们自己的行。如果交易成功,消息行将被删除。
所以,我希望这就是你问的。
我想使用 jdbc 支持的消息通道。阅读文档说它受支持,但之后我在论坛中发现一个线程明确表示不支持。如果支持,能否请您澄清一下?在这种情况下,你能指导我这样做吗?提前致谢!
我猜你指的是带有 MessageStore
参考的 <queue>
频道。
有了它,我们真的可以拥有集群范围的通道,它允许每个集群只传输一条消息。这意味着只有一个消费者能够从该持久性队列中提取消息,并且 3is 保证在系统故障期间不会丢失消息。
我认为 Spring 集成为您提供了答案,正是 JdbcChannelMessageStore
。
您所面对的论坛post已经够老了。从此世界发生了翻天覆地的变化。
例如,注意 OracleChannelMessageStoreQueryProvider
及其 getPollFromGroupQuery()
实现。有一个查询提示,如:
FOR UPDATE SKIP LOCKED
保证每个事务只有一行。其他事务跳过锁定的行并锁定它们自己的行。如果交易成功,消息行将被删除。
所以,我希望这就是你问的。