0

Grails 2.4 Web アプリケーションを Grails 3 にアップグレードしており、Mongo データベースをカスタム DAO から GORM に切り替えることを検討しています。

特に接続について、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()
        }
    }
}

前もって感謝します!

4

1 に答える 1

0

はい、構成を介してMongoClientOptions.Builderクラスで何でも設定できます。構文は間違っていますが、次のようにする必要があります。

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