Как обнаружить события базы данных с помощью, например, Java - PullRequest
3 голосов
/ 12 августа 2010

Есть ли способ обнаружения событий базы данных, например, вставки, обновления и удаления, сопоставимый с мониторами доступа к файлам, такими как JNotify (может обнаруживать чтение, создание, изменение файлов и каталогов)?

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

Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 августа 2010

В общем нет. AFAIK, в JDBC или в стандартах SQL такой возможности не существует.

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

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

0 голосов
/ 12 августа 2010

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

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

...