2016-09-19 55 views
0

我正在將我的Grails 2.4 Web應用程序升級到Grails 3,並且正在考慮從我的自定義DAO切換到我的Mongo數據庫的GORM。Grails 3 - GORM for MongoDB - 最近讀取的副本集

我想了解如何正確設置GORM,特別是關於連接options,但其文檔有點誤導我。 的Advanced Configuration(「蒙戈數據庫連接配置」)規定

可用選項和它們的說明在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() 
     } 
    } 
} 

在此先感謝!

回答

0

是的,你可以通過配置在MongoClientOptions.Builder類中設置任何東西。雖然你的語法是錯誤的,但它應該是:

grails { 
    mongodb { 
     options { 
     readPreference = com.mongodb.ReadPreference.nearest() 
     } 
    } 
} 
+0

非常感謝! :) 對不起,我的錯字,正確的語法更新問題。 – ilPittiz