1

Ich verwende OrientDB 2.2.5 für das Backend für eine Java-Webanwendung mit mehreren Threads und habe verschiedene Verbindungsmethoden ausprobiert. Jede Methode scheint ein Problem zu haben.OrientDB-Verbindungspools

Ich brauche im Wesentlichen etwas, das ich gleichzeitig aufrufen kann, um die OrientDB-Datenbank zu verwenden, sei es eine statische Methode oder Objektinstanz.

Ich habe verschiedene Methoden ausprobiert und hatte Probleme mit Datensatzsperrung oder verschiedene andere Ausnahmen. Die Dokumentation zeigt eine abgeschriebene Verbindungspool-Methode (ODatabaseDocumentPool), und verschiedene andere Quellen im Internet zeigen eine Mischung von Möglichkeiten (ODatabaseDocumentTx, OPartitionedDatabasePool).

Bitte kann jemand eine wiederverwendbare Methode für die Verbindung mit der Instanz (derzeit nur ein Plokal) und die Ausgabe einer Basisabfrage bereitstellen. Bitte fügen Sie auch eine Verbindungsbereinigungslogik hinzu (ich denke, das hat mich dazu veranlasst, Probleme mit gesperrten Datensätzen zu haben, sogar einige Sekunden nach dem letzten Update).

Jede Hilfe/Zeiger würde sehr geschätzt werden.

Antwort

1

mit mindestens 1, maximal 10 Instanzen mit einem recycelbaren Pool von Instanzen umgehen:

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

Sobald das Werk so konfiguriert ist, Sie eine Graph-Instanz zu arbeiten beginnen bekommen können. OrientGraphFactory hat zwei Methoden, um eine Transaktions- und nichttransaktions Instanz abzurufen:

OrientGraph txGraph = factory.getTx(); 

OrientGraphNoTx noTxGraph = factory.getNoTx(); 

Hoffe, es hilft.

0

Wenn Sie die Dokument-API verwenden, ist OPartitionedDatabasePool der Pool Ihrer Wahl. Beachten Sie, dass dies die Pool-Implementierung ist, die intern von OrientGraphFactory verwendet wird.