使用DBMS_AQ.POST的示例及其实用程序的说明
-
05-07-2019 - |
题
DBMS_AQ包有一个名为POST的方法。
文档说,
此过程发布到列表中 匿名订阅,允许所有 注册的客户 订阅以获取通知 持久性消息。这个功能是 不支持缓冲消息。
和
此通话提供了最大的努力 保证。收到通知 最多注册客户一次。这个 call主要用于轻量级 通知。如果应用程序需要 更严格的保证,那么它可以 排队到队列。
我理解所有的话,但我没有看到无保证的消息传递的目的。我排队的东西因为我需要它来到某个地方。也许只是因为我的公司没有这方面的用例。我想知道你对这种技术有什么用例。
解决方案
首先想到的是,您可能有大量对DB信息感兴趣的客户端应用程序。某些系统会触发一个事件,该事件使用有用但不那么重要的信息更新数据库(例如,向用户显示的表中的行总数)。
然后它想要将其广播给客户端,但是如果客户端真的很忙(或者短暂离线 - 例如网络断开),则可以使用此方法来丢弃不重要的消息。这可能是在某些情况下采取的最佳方法,就好像它们在重新连接时可以在离线时再次主动查找所有信息。
虽然有用例,但我猜它们比保证交付要少得多 - 就像TCP似乎比UDP使用得多。
不隶属于 StackOverflow