Как обнаружить события базы данных с, например, Java

StackOverflow https://stackoverflow.com/questions/3464026

  •  27-09-2019
  •  | 
  •  

Вопрос

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

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

Спасибо!

Это было полезно?

Решение

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top