Есть ли способ избежать создания индекса при запуске приложения с помощью репозитория Mongo? - PullRequest
0 голосов
/ 07 февраля 2019

JaversBuilder.build() всегда вызывает MongoRepository.ensureSchema() для выполнения createIndex() для jv_snapshots, даже когда индексы уже существуют.

В частности, разрешение createIndex было отменено, поскольку эта команда блокирует все другие операциив экземпляре Mongo (не только в базе данных, как в документации MongoDB) при выполнении на переднем плане.

Может быть, ensureSchema может быть вызвано при настройке Javers для приложения вне JaversBuilder.build().Пример:

@Bean
public Javers javers() {
    MongoRepository repository = new MongoRepository(mongoClient.getDatabase(databaseName));
    Javers javers = JaversBuilder.javers().registerJaversRepository(repository).build();
    repository.ensureSchema();
    return javers;
}

Уместно предложить удалить вызов ensureSchema из JaversBuilder.build() или есть другой способ избежать создания индекса при запуске в приложении, отличном от Spring Boot?

...