2

マルチスレッド Java Web アプリケーションのバックエンドに OrientDB 2.2.5 を使用しており、さまざまな接続方法を試しました。それぞれの方法に問題があるようです。

基本的に、OrientDB データベースを使用するために同時に呼び出すことができる何かが必要です。これは、静的メソッドまたはオブジェクト インスタンスです。

さまざまな方法を試しましたが、レコードのロックやその他のさまざまな例外に問題がありました。ドキュメントには減価償却された接続プール方式 ( ODatabaseDocumentPool) が示されています。また、インターネット上のさまざまなソースには、さまざまな方法が混在していることが示されています ( ODatabaseDocumentTxOPartitionedDatabasePool)。

インスタンス (現在は単なる plocal) に接続して基本的なクエリを発行するための再利用可能な方法を提供してください。接続のクリーンアップロジックも含めてください(最後の更新から数秒後でも、レコードがロックされるという問題が発生したのはこれだと思います)。

ヘルプ/ポインタは大歓迎です。

4

2 に答える 2

2

最小 1 個、最大 10 個のインスタンスを持つ再利用可能なインスタンスのプールを操作するには:

OrientGraphFactory factory = new OrientGraphFactory("plocal:/temp/mydb").setupPool(1, 10);

ファクトリが構成されたら、Graph インスタンスを取得して作業を開始できます。OrientGraphFactory には、Transactional インスタンスと Non-Transactional インスタンスを取得するための 2 つのメソッドがあります。

OrientGraph txGraph = factory.getTx();

OrientGraphNoTx noTxGraph = factory.getNoTx();

それが役に立てば幸い。

于 2016-07-25T07:39:23.093 に答える
0

ドキュメント API を使用する場合OPartitionedDatabasePoolは、選択したプールです。これは、 によって内部的に使用されるプールの実装であることに注意してくださいOrientGraphFactory

于 2016-07-25T08:57:05.330 に答える