Пример использования DBMS_AQ.POST и объяснение его полезности - PullRequest
0 голосов
/ 30 октября 2008

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

В документации сказано,

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

и

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

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

1 Ответ

0 голосов
/ 31 октября 2008

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

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

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

...