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?