1

Grails を使用して MongoDB の readPreference の設定に成功した人はいますか? datasource.groovy の通常のオプション クロージャーに readPreference 設定を入れようとしましたが、喜びはありません。

grails {
    mongo {
        replicaSet = [<host1>, <host2>]
        databaseName = "plover_development"
        options {
            readPreference = ReadPreference.secondaryPreferred()
            connectionsPerHost = 100
            threadsAllowedToBlockForConnectionMultiplier = 10
        }
    }
}

しかし、Spring が readPreference を設定しようとするとエラーが発生し、書き込み不可の Bean プロパティに書き込もうとしてセットを拒否します。readPreference をグローバルに設定する方法が必要ですが、まだ見つかりません。

4

3 に答える 3

0

まあ、readPreferenceGrails のコレクション レベルで設定することができました。とにかく、これが最善の方法です。

マッピングのクロージャで (例: static を呼び出して結果を変数ReadPreference.secondaryPreferred()にプッシュする)。readPreference

static mapping = {
    serviceTier reference: false
    linkedAccounts reference: false
    missions reference: false
    users reference: false
    name index:true, indexAttributes:[unique:true, dropDups:true]
    writeConcern WriteConcern.SAFE
    readPreference ReadPreference.secondaryPreferred()
}
于 2013-05-20T02:21:13.690 に答える
0

grails { mongo { ..... オプション { .... slaveOk = true } } }

非推奨ですが、使用できます

于 2014-09-21T10:36:02.243 に答える
0

ドキュメントでは、次の例を参照してください。

mongodb {
 replicaSet = [ "localhost:27017", "localhost:27018"]
 databaseName = 'test'
 options = new MongoOptions(readPreference: ReadPreference.nearest())
}

クロージャーを使用する代わりに、MongoOptions オブジェクト内でオプション設定を割り当ててみてください。

于 2013-05-17T00:16:26.087 に答える