sql >> データベース >  >> NoSQL >> MongoDB

JavaEEWebサービス全体で単一のMongoClientを使用する

    javadoc 言う:

    したがって、クライアントを含むシングルトンを作成する場合。 Javadocに記載されているように再利用できます。スレッドセーフであるため、同期は必要ありません。

    実装の1つは次のとおりです。

    public enum ConnectionFactory {
        CONNECTION;
        private MongoClient client = null;
    
        private ConnectionFactory() {
            try {
                client = new MongoClient();
            } catch (Exception e) {
                // Log it.
            }
        }
    
        public MongoClient getClient() {
            if (client == null)
                throw new RuntimeException();
            return client;
        }
    }
    

    アプリケーション全体で、クライアントをとして使用します。 Connection pooling MongoClientによって処理されます 文書化されているとおり。

    MongoClient client = ConnectionFactory.CONNECTION.getClient();
    

    または@singletonアノテーションを使用します:

    @Singleton
    public class SingletonA {
    
    }
    

    参照: http://tomee.apache.org/singleton-example.html



    1. MongoDBコレクション内のすべての個別のフィールドのリストをクエリする

    2. Redis zrevrangebyscore、辞書式順序以外の並べ替え

    3. オブジェクト値department.nameを検索する方法

    4. マングースカーソルbatchSize