Ich möchte OrientJS mit Express.js verwenden. Wie konfiguriere ich einen Verbindungspool, bevor eine http-Anfrage gestellt wird, erwarte und entlasse ich eine Verbindung aus dem Pool während des Anfrage/Antwort-Zyklus und beende den Pool, wenn ich die App herunterfahre?Verbindungspool in OrientJS
Antwort
Ich habe ein bisschen in OrientJS Quelle gesucht und gefunden tatsächlich einen Weg, um die built-in ConnectionPool zu verwenden.
Sie keine generische Ressource Pooling Modul benötigt (wie ich oben in meinem Kommentar erwähnt). Grundsätzlich ist es sehr einfach. Alles, was Sie tun müssen, ist:
var OrientDB = require('orientjs');
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'root',
password: 'yourpassword',
pool: {
max: 10
}
});
Jetzt ist Ihr server
Aufgabe wird mit der in Connection gebaut und max Verbindungen sind.
Wenn Sie server.transport.pool
überprüfen, sehen Sie das interne Pool-Objekt.
Um tatsächlich zu überprüfen, wie viele Verbindungen hergestellt werden (oder in Gebrauch sind), können Sie die Länge von server.transport.pool.connections
überprüfen (was ein Array ist).
Eine weitere Möglichkeit, Verbindungen Einsatz zu sehen ist ein einfacher Bash-Befehl:
$ watch -n 0.1 'netstat -p tcp -an | grep 2424'
Und Sie werden die Verbindungen sehen.
Von diesem Punkt können Sie sofort beginnen und der Verbindungspool Abfrage wird automatisch verwendet werden.
Das ist cool. Aber jetzt müssen wir herausfinden, wie man die Verbindungen innerhalb des HTTP-Lebenszyklus verwaltet. Ich denke, dein Fragment muss verwendet werden, wenn ich js Express boote, oder? Wissen Sie, wie ich die Verbindung freigeben kann, nachdem ich die Antwort erstellt habe und wie ich den Pool herunterfahren soll, wenn mein Server fertig ist? –
Ich habe all diese Sorgfalt, weil ich alles elegant schließen und den Pool richtig beenden will, um den DB-Server bei Bedarf herunterzufahren und jeden Fehler zu behandeln, der auftreten könnte. Es sieht aus wie orientdb manchmal korrupte Dateien, wenn Sie die Dinge nicht entsprechend schließen ... –
IMHO müssen Sie ein Modul erstellen, das die 'server'-Variable exportiert, dann benötigen Sie es, wann immer Sie es in Ihrer Anwendung benötigen. der Connection acquire/Freigabeprozess wird automatisch durch OrientJS behandelt, so dass Sie brauchen nichts weiter zu tun, verwenden Sie nur das Server-Objekt Ihrer db (s) abzufragen. Um alle Verbindungen elegant zu schließen, rufen Sie einfach 'server.close()' auf. Denken Sie daran, dass Sie, wenn Sie danach die Datenbank abfragen wollen, erneut 'var server = OrientDB (...)' ausführen müssen. – xmikex83
- 1. Klärung orientjs
- 2. Verwenden Sie nicht npm Orientjs in Nativescript
- 3. Hibernate Verbindungspool
- 4. Verwendung von Verbindungspool in JPA
- 5. Concurrent DB Verbindungspool in Haskell
- 6. Der Verbindungspool wurde
- 7. JBoss Datenbank Verbindungspool
- 8. YeSQL mit Verbindungspool?
- 9. Überwachung Bone cp Verbindungspool
- 10. Webdienste, ADO.NET-Verbindungspool, Timeoutfehler
- 11. Verbindung verschwand im Verbindungspool
- 12. Java-HTTP-Verbindungspool überprüfen
- 13. Wie können LiveQuery-Funktionen in OrientJS verwendet werden?
- 14. Wie Verbindungspool in Java Memcached (spymemcached)
- 15. Freigeben von Verbindungen in einem Verbindungspool.
- 16. Kein Verbindungspool für ActiveRecord :: Base
- 17. Womit ist der Verbindungspool verbunden?
- 18. Hat Amazon S3 einen Verbindungspool?
- 19. Wildfly Verbindungspool mit Servlets & Themen
- 20. Funken Streaming und Verbindungspool Implementierung
- 21. Httpclient 4.3 Sperrung auf Verbindungspool
- 22. Fehlerbehebung bei grundlegenden Problemen mit orientjs (OrientDB-Treiber für node.js)
- 23. Standard-Verbindungspool für Tomcat im Spring-Boot?
- 24. Erstellen von Verbindungspool mit tns alias
- 25. Sellerie: Zugriff auf den Broker-Verbindungspool
- 26. Wie funktioniert Verbindungspool mit mysql ReplicationDriver
- 27. Rails-Verbindungspool innerhalb des Aktionspaketanforderungszyklus Gleiche Verbindung
- 28. Eine Verbindung mit mySQL über Glassfish Verbindungspool
- 29. Hikari Verbindungspool mit HSQL Im Speicher
- 30. Spring + Hibernate - Oracle UCP-Verbindungspool verwenden
[OrientJS Features] (https://github.com/orientechnologies/orientjs#features) scheint bereits eine ** Connection Pooling enthalten ** Unterstützung. Hast du es versucht? Andernfalls können Sie Clients mit einem generischen Ressourcen-Pooling-Modul wie [dieses] (https://github.com/coopernurse/node-pool) behandeln. – xmikex83
Nein, habe ich nicht, weil ich nicht weiß, wie man es benutzt. Das Modul, das Sie erwähnt haben, sieht jedoch interessant aus. –