С версией Spring - 3.0.5.RELEASE. Я обновляю Монго 2.11.0 на 3.2.0 и получение NoSuchMethodError: com.mongodb.DB.isAuthenticated() Zобновление mongo mongo 2.11.0 to 3.2.0 с spring-data-mongodb 1.0.0.M2 без поиска com.mongodb.DB.isAuthenticated() Z
- Я не могу изменить весеннюю версию
Так что я не могу изменить весной -data-MongoDB версия
private MongoTemplate getNewTemplate() { MongoTemplate template = null; try { Mongo mongo = new Mongo(host, port); List<Converter<?,?>> converters = new ArrayList<Converter<?,?>>(); converters.add((Converter) new BigDecimalToDoubleConverter()); converters.add((Converter) new DoubleToBigDecimalConverter()); MongoMappingContext mappingContext = new MongoMappingContext(); mappingContext.setApplicationEventPublisher(applicationContext); MappingMongoConverter mmc = new MappingMongoConverter(mappingContext); mmc.setConverters(converters); mmc.setMongo(mongo); mmc.setApplicationContext(applicationContext); template = new MongoTemplate(mongo, dbName, "versionchangevalue", mmc); template.setApplicationEventPublisher(applicationContext); template.setMappingContext(mappingContext); template.setWriteConcern(WriteConcern.ACKNOWLEDGED); mmc.afterPropertiesSet(); if ((username != null) && !(username.isEmpty())) { template.setUsername(username); template.setPassword(password); } } catch (Exception e) { logger.error("Fatal error connecting to mongo db. Host not found for hostname:port=" + host + ":" + port, e); } return template; } }
Рабочая версия
{
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.0.0.M2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
}
Давать Ошибка
NoSuchMethodError: com.mongodb.DB.isAuthenticated()Z
при переходе на
{
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.0.0.M2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
}
Можете ли вы объяснить, каковы причины этого обновления? Его основная версия меняется. Это не будет действительно полезно, если вы не сможете обмануть версию версии mongo с весной, которая поставляется с этой версией драйвера mongo. – Veeram
Да, я знаю, что идеальным было бы изменить весеннюю версию. Но архитектурное решение было принято, что весенняя версия не будет изменена в этом выпуске. Мы обновляем только версию mongo. Я попытался с помощью 2.14.0-rc0 mongo-java-драйвера, но тогда у меня есть другая проблема: - org.springframework.data.document.UncategorizedDocumentStoreException: «errmsg»: «не разрешено на« UAT »для выполнения команды –