Слушатель событий базы данных с использованием весенней загрузки - PullRequest
0 голосов
/ 30 июня 2018

Мне нужно присоединить слушателя к таблице в БД который должен вызывать метод пружинной загрузки, как только в таблице выполняется операция CRUD (до слушателей и после слушателей) запись может быть сделана из любого источника как я могу это сделать при загрузке весной?

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

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

То, что вы описываете, называется шаблоном CDC (изменение сбора данных) .

Для реализации CDC в этом случае вам необходимо использовать инструментарий базовой базы данных - например, триггеры.

Как я вижу, это помечено MongoDb - триггеры не являются опцией, так как mongodb не поддерживает триггеры.

Если вы используете MongoDb v3.6 +, вы можете использовать новую функцию Change Streams . Это официальный пример с Java.

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

Если вы используете более ранние версии MongoDb, вы можете отслеживать oplog или использовать настраиваемые курсоры с ограниченными коллекциями.

0 голосов
/ 30 июня 2018

В этой статье объясняется, как вызывать любую программу из DB-Trigger.

Таким образом, вы можете просто создать Java-приложение Spring Boot и сделать sys-вызов вашего приложения.

Аналогичный механизм также доступен в Oracle и других БД.

...