0

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

我试图了解如何正确设置 GORM,尤其是关于 connection 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()
        }
    }
}

提前致谢!

4

1 回答 1

0

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

grails {
   mongodb {
      options {
        readPreference = com.mongodb.ReadPreference.nearest()
      }
   }
}
于 2016-09-20T07:39:00.930 回答