2017-03-10 15 views
0

サービスはキューに待機し、Javaクライアントを使用してMarklogic-v8.0.6で発行されたイベントを持続します。 - 250永続化される client.getConnection(host,port,name,pswd,auth) write content client.release
イベントの数が多い
のみ、最初の200は、2000+を言う:
永続コードはこのように動作します。
その後、メッセージToo many open filesの例外が表示され、イベントはそこで永続化されません。
これは、marklogic上のオープン接続が多すぎて、サービスが消費する接続がないためです。
marklogicに利用できる接続プールの概念はありますか?marklogic接続を管理する方法

答えて

3

クライアントオブジェクトは接続プールをカプセル化します。

すべての要求に対して新しいクライアントを作成することは非常に非効率的です。

推奨される使用パターンは、データベースとロールの組み合わせに対して1つのクライアントを開き、ロールを持つデータベースへのすべてのアクセスに対してそのクライアントを引き続き使用することです。

データベースクライアントとマネージャは構成後にスレッドセーフであるため、複数のスレッドで同じデータベースクライアントを使用できます。

デフォルトより多くの同時要求が必要な場合は、それを調整する方法がありますが、最初の手順では、データベースとロールの組み合わせに対するデータベースクライアントをシングルトンとして扱います。

、それが助けを望んでmarklogicサーバが何らかの理由でダウンしたが、marklogicに書き込みを行うアプリケーションは、キャッシュされたシングルトンクライアントまたは既に作成されたクライアントに何が起こるか、まだアップしている場合は何が起こるか

+0

? – VikramR

+1

クライアントが再認証を必要とする場合は、それが実行されます。資格情報が有効な限り、認証は成功します。 – ehennum