![]() |
|
Модераторы: LSD |
![]()
|
|
| RoMka |
|
|||
|
Unregistered |
Подскажите как с сервера, на котором стоит Oracle, послать сообщение конкретному пользователю, на компьютер, где в данный момент активна его сессия.
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Оповещение по событию можно реализовать с помощью Advanced Queueing. Правда только через OCI интерфейс.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| RoMka |
|
|||
|
Unregistered |
LSD, можно поподробнее? плиз
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
В Oracle есть такая штука, как Advanced Queueing (очередь сообщений). Предназначенна для обмена сообщениями между пользователями.
Сообщение содержит в себе информацию о пользователе, времени отправки сообщения, приоритете и некоторые другие сведения. Ну и конечно данные, которые могут быть просто двоичными (RAW) или Oracle-овскими объектами. Очереди бываю persistent и not persistent. Persistent это очереди с гарантарованной доставой сообщения, т.е. сообщение сохраняется в таблице и пользователь может его получить, даже если в момент отправки он был недоступен. Но недостатком является то, что пользователь сам вынужден опрашивать очередь на предмет наличия новых сообщений. Хотя тут тоже есть вариант: можно задать таймаут в течении которого, ждать прихода новых сообщений. Not persistent это очереди без гарантированной доставки сообщений. Но они способны оповещать зарегистрированных пользователей, через callback, о том что пришло новое сообщение. Хотя, если на момент прихода сообщения, пользователь был недоступен, то собщение он не получит. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| RoMka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 21.9.2004 Репутация: нет Всего: нет |
А в каком виде будет приходить сообщение?
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Для какой очереди? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| RoMka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 21.9.2004 Репутация: нет Всего: нет |
LSD Для "Not persistent " ?
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Я дико извиняюсь, но я забыл примерчик на работе. Так что теперь придется ждать до понедельника.
А в общем это выглядит так создается очередь. Вызывается функция регистрации подписчика, в которую в качестве аргумента передается указатель на функцию. Затем по приходу события будет вызванна данная функция, куда в качестве аргумента будут переданны параметры сообщения, в том числе и данные. Все это реализуется через OCI, вроде еще есть вариант через JMS, но я что-то его не нашел пока. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Вот этот примерчик.
Создание очереди:
Код программы:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |