Как сделать слушатель базы данных с Java? - PullRequest
14 голосов
/ 04 января 2011

Приветствую всех, кого я хочу сделать что-то вроде триггера или слушателя (я не знаю, что), который будет слушать определенную таблицу базы данных, и с каждой новой записью, вставленной в эту таблицу, делать некоторый код Java, я имею в видучто он обнаруживает, что была добавлена ​​новая запись, и получает ее данные, если это возможно. Мне нужно руководство по выполнению этого процесса?

Я использую Spring-Hibernate-PostgreSQL

Ответы [ 3 ]

11 голосов
/ 04 января 2011

Это то, для чего LISTEN / NOTIFY был создан для.

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

Вы также можете использовать код из Postgres Wiki , чтобы иметь отправную точку

1 голос
/ 04 января 2011

Вы можете добавить Interceptor в конфигурацию Hibernate для обнаружения событий сохранения.

1 голос
/ 04 января 2011

Полагаю, вы имеете в виду, что содержимое БД добавляется с помощью вашего кода гибернации.

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

В противном случае, ответ «без лошади» должен быть лучшим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...