![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Есть таблица БД. В нее время от времени кто-то что-то пишет, апдейтит, делитит.
Есть приложение, которое должно реагировать на изменения этой таблицы. Ну, для примера, отображать в реальном времени данные из таблицы в JTable. Можно ли как-то "научить" БД сообщать клиенту о событиях? Как бы триггер, но что бы он вызывал какой-то метод. Очень не хочется реализовывать это самому, через постоянное перечитывание таблицы. В БД H2 есть поддержка Java-триггеров, но я не совсем понял, то ли это, что мне нужно. Как я понимаю, Java-триггер для H2 это как бы аналог триггеров в других БД, только в качестве языка используется не какой-нить PL/pgSQL, а Java. Решение хотелось бы не привязанное к конкретной БД. |
|||
|
||||
AlexeyVorotnikov |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Вот это сильно вряд ли. Поскольку на изменение в таблице должна реагировать именно БД. И не во всякой БД есть такая воможность. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
почитал доки по PostgreSQL, вроде как там есть механизм установки листнера из си, и если сильно затотеть, то можно как-нить прикрутить его к Java.
Но хотелось бы найти какое-то готовое решение для Java. Вроде как задача не такая уж уникальная. |
|||
|
||||
jeank |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.6.2008 Где: Калининград Репутация: нет Всего: 1 |
А Вам просто не хватает трехзвенной архитектуры с сервером приложений посередине, на который и вешаются такого рода и не только задачи (слушатели, транзакции, блокировки и т.д.).
|
|||
|
||||
Temdegon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Собственно, вот чего мне не хватало:
postgresql-jdbc-8.3
Что бы Listner получил notification, кто-то должен выполнить "NOTIFY". Можно в клиента добавить код, посылающий notify после именения данных, а можно просто повесить триггер на update\delete\insert и пусть он посылает уведомление. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |