Перехватчик для MongoDB в Java

Я новичок в Spring и MongoDB. Я пытаюсь проверить операции CRUD на MongoDB. Я нашел много плагинов, которые проверяют изменения на уровне MongoDB, но я ищу что-то вроде перехватчика или ловушки (например, EmptyInterceptor для hibernate), который работает на уровне Java.

Я использую GMongo на Java для работы на MongoDB. Что может помочь мне в этом?

2 ответа

Spring-Data-Mongodb обеспечивает AbstractMongoEventListener именно для этих целей.
Прочитайте полные события жизненного цикла здесь.

Все, что вам нужно сделать, это написать класс (убедитесь, что Spring сканирует его, используя @Configuration или компоненты могут), который расширяет AbstractMongoEventListener и реализовать различные абстрактные методы, предоставляемые AbstractMongoEventListener, и написать свою логику аудита внутри этих методов.

Взгляни на LoggingEventListener в org.springframework.data.mongodb.core.mapping.event в банке spring-data-mongodb.

Я думаю, что вы можете попробовать CommandListener. Вам просто нужно создать новый объект, который реализует интерфейс и добавить его в MongoClientOptions, а затем использовать MongoClientOptions для создания MongoClient. как это:

MongoCommandListener listener = new MongoCommandListener();

MongoClientOptions options =
                        MongoClientOptions.builder().addCommandListener(listener).build();

return new MongoClient(new ServerAddress(host,port), options);
Другие вопросы по тегам