Я обновляю свое веб-приложение Grails 2.4 до Grails 3 и рассматриваю возможность перехода с пользовательского DAO на GORM для моей базы данных Mongo.
Я пытаюсь понять, как правильно настроить GORM, в частности о соединении options
, но его документация немного вводит меня в заблуждение. В разделе Расширенная конфигурация ("Конфигурация подключения к базе данных Mongo") указано
Доступные параметры и их описания определены в MongoOptions javadoc.
поэтому у меня возникает соблазн предположить, что мне разрешено использовать любой из этих вариантов.
Но позже в том же разделе (Руководство по параметрам конфигурации) я прочитал
Ниже приведен полный пример, показывающий все параметры конфигурации:
показывает только 9 вариантов.
Моя проблема заключается в «преобразовании» моего пользовательского DAO
MongoClientOptions options = new MongoClientOptions .Builder()
.connectionsPerHost(1000)
.threadsAllowedToBlockForConnectionMultiplier(5)
.maxWaitTime(4000)
.socketTimeout(2000).build();
List<ServerAddress> list = getMongoReplicaSet();
mongo = new MongoClient(list, options);
mongo.setReadPreference(ReadPreference.nearest());
к эквивалентной конфигурации
grails {
mongodb {
options {
connectionsPerHost = 1000
threadsAllowedToBlockForConnectionMultiplier = 5
maxWaitTime = 4000
socketTimeout = 2000
}
}
}
но как определить предпочтение чтения? Имею ли я право делать что-то подобное?
grails {
mongodb {
options {
readPreference = com.mongodb.ReadPreference.nearest()
}
}
}
Заранее спасибо!