DBMS_AQ包有一个名为POST的方法。

文档说,

  

此过程发布到列表中   匿名订阅,允许所有   注册的客户   订阅以获取通知   持久性消息。这个功能是   不支持缓冲消息。

  

此通话提供了最大的努力   保证。收到通知   最多注册客户一次。这个   call主要用于轻量级   通知。如果应用程序需要   更严格的保证,那么它可以   排队到队列。

我理解所有的话,但我没有看到无保证的消息传递的目的。我排队的东西因为我需要它来到某个地方。也许只是因为我的公司没有这方面的用例。我想知道你对这种技术有什么用例。

有帮助吗?

解决方案

首先想到的是,您可能有大量对DB信息感兴趣的客户端应用程序。某些系统会触发一个事件,该事件使用有用但不那么重要的信息更新数据库(例如,向用户显示的表中的行总数)。

然后它想要将其广播给客户端,但是如果客户端真的很忙(或者短暂离线 - 例如网络断开),则可以使用此方法来丢弃不重要的消息。这可能是在某些情况下采取的最佳方法,就好像它们在重新连接时可以在离线时再次主动查找所有信息。

虽然有用例,但我猜它们比保证交付要少得多 - 就像TCP似乎比UDP使用得多。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top