4

標準の MongoDB Java ドライバーを使用して、独自の DAO をロールしています。すべての DAO が同じ Mongo インスタンスを共有できることは承知していますが、同じデータベースにアクセスするすべての DAO が同じ DB オブジェクトを共有する必要がありますか、それとも新しい DB オブジェクトを要求する正当な理由がありますか?

ありがとう!

4

2 に答える 2

2

実用的であることが判明した場合は、Mongo クラス、DB クラス、および DBCollection クラスの共有インスタンスを使用できます。デザインの観点からするかどうかはあなた次第です。Mongoインスタンスは比較的重いため(独自のスレッドプールなどを持っているため)、間違いなくシングルトンとして使用します.

于 2012-01-25T17:06:17.820 に答える
1

Mongo オブジェクトを共有する「正当な理由」は、組み込みの接続プールです。Mongo オブジェクトのインスタンスを DAO 間で共有することが実際的でない場合は、(私の意見では) 新しいインスタンスを作成する正当な理由になります。実用的である場合は、共有する必要があります。

.close()Mongo インスタンスを使い終わったら、接続を開いたままにしないようにするために を使用する必要があることに注意してください。

于 2012-01-25T16:43:18.570 に答える