Grails 3 - MongoDB的GORM - 最接近的副本集读取

时间:2016-09-19 16:15:43

标签: mongodb grails gorm grails3

我正在将我的Grails 2.4 Web应用程序升级到Grails 3,我正在考虑从我的自定义DAO切换到我的Mongo数据库的GORM。

我正在尝试了解如何正确设置GORM,尤其是关于连接options,但其文档对我来说有点误导。 Advanced Configuration(“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()
        }
    }
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

是的,您可以通过配置在MongoClientOptions.Builder课程中设置任何内容。虽然语法错误,但应该是:

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