Пример использования DBMS_AQ.POST и объяснение его полезности.

StackOverflow https://stackoverflow.com/questions/251060

Вопрос

В пакете DBMS_AQ есть метод POST.

В документации говорится:

Эта процедура публикует список анонимных подписок, позволяющих всем клиентам, которые зарегистрированы для подписки, получать уведомления о постоянных сообщениях.Эта функция не поддерживается буферизованными сообщениями.

и

Этот вызов предоставляет наиболее эффективную гарантию.Уведомление доходит до зарегистрированных клиентов не более раз.Этот вызов в основном используется для легкого уведомления.Если приложению требуют более жестких гарантий, то оно может подключиться к очереди.

Я понимаю все слова, но не вижу смысла в негарантированной переписке.Я ставлю что-то в очередь, потому что мне нужно, чтобы это куда-то дошло.Возможно, просто в моем бизнесе нет для этого варианта использования.Мне хотелось бы знать, какие у вас есть варианты использования такой технологии.

Это было полезно?

Решение

Первое, что приходит на ум, это то, что у вас может быть большое количество клиентских приложений, заинтересованных в информации БД.Некоторые системы запускают событие, которое обновляет базу данных полезной, но не столь важной информацией (например.общее количество строк в таблице, которая отображается пользователю).

Затем он хочет передать это клиентам, но если клиент действительно занят (или ненадолго отключен от сети, напримеротключение сети), этот подход можно использовать для удаления неважного сообщения.Это может быть лучший подход в некоторых ситуациях, поскольку, если они находятся в автономном режиме, клиент может при повторном подключении снова активно искать всю информацию.

Хотя существуют варианты использования, я предполагаю, что они гораздо менее распространены, чем гарантированная доставка - точно так же, как TCP, похоже, используется значительно чаще, чем UDP.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top