Optimale Vorgehensweisen für ThingWorx Modell und Daten > Datenverwaltung > Verbindung zu einer externen Datenbank herstellen
Verbindung zu einer externen Datenbank herstellen
ThingWorx Platform unterstützt das Herstellen einer Verbindung zu einer externen Datenbank über zwei Entitäten: DatabaseThing und SQLThing. Beide Entitäten stellen mithilfe von Java Database Connectivity (JDBC) eine Verbindung zu einer Datenbank her und erfordern, dass ein geeigneter JDBC-Treiber zu ThingWorx Platform hinzugefügt wird. Ein JDBC-Treiber kann über eine Erweiterung oder direkt in der Apache Tomcat-Bereitstellung hinzugefügt werden.
Das DatabaseThing wird in ThingWorx Platform für eine Weile unterstützt und ermöglicht weiterhin den Datenbankzugriff für weniger komplexe Anforderungen.
Vor Kurzem wurde SQLThing hinzugefügt, um die gemeinsame Nutzung von Konfiguration und Verbindung über mehrere Entitäten zu unterstützen. Wenn Sie ein SQLThing verwenden, wird die Konfiguration von einem Persistenzanbieter verwaltet, der mit dem GenericJdbcPersistenceProviderPackage erstellt wurde, in dem die JDBC-Verbindungsdetails konfiguriert sind. Der erstellte Persistenzanbieter kann dann in der Konfiguration von einer oder mehreren SQLThing-Entitäten über den Namen referenziert werden, wobei der Pool von Verbindungen von allen Entitäten gemeinsam genutzt wird.
Über ein Kontrollkästchen in der SQLThing-Konfiguration kann das SQLThing optional an ThingWorx Platform Transaktionen teilnehmen. Diese Unterstützung ermöglicht das Rollback von Änderungen an der externen Datenbank, wenn andere Aktionen derselben ThingWorx Platform Transaktion fehlschlagen. Dies führt auch dazu, dass mehrere SQL-Dienste, die von demselben JavaScript-Dienst ausgeführt werden, eine einzelne Transaktion in der externen Datenbank verwenden, was unter bestimmten Umständen erwünscht sein kann. Beachten Sie, dass alle anderen Dienste, die einen solchen JavaScript-Wrapper aufrufen, betroffen sind, wenn die Datenbankänderungen festgeschrieben werden, da sie dieselbe Plattform-Transaktion gemeinsam nutzen.
Name
Standardwert
Hinweise
JDBC-URL
jdbc:_DB_://localhost/
JDBC-URL der Datenbank, von der Verbindungen abgerufen werden sollen. Sie können mehrere Schemas in dieser URL angeben.
Benutzername
dbuser
Benutzername zum Abrufen einer Datenbankverbindung
Passwort
N/A
Passwort zum Abrufen einer Datenbankverbindung
Verbindungspool-Anfangsgröße
0
Anzahl der beim Start erstellten Threads zum Herstellen einer Verbindung zur Datenbank
Inkrement beim Abrufen der Verbindung
1
Bestimmt, wie viele Verbindungen abgerufen werden, wenn der Pool ausgeschöpft ist
Maximale Verbindungspoolgröße
100
Maximale Anzahl von Verbindungen, die ein Pool zu einem beliebigen Zeitpunkt aufrechterhält
Mindest-Verbindungspoolgröße
0
Minimale Anzahl von Verbindungen, die ein Pool zu einem beliebigen Zeitpunkt aufrechterhält
Maximale zwischengespeicherte Anweisungen
100
Größe des globalen PreparedStatement-Cache
Treiberklasse
Datenbank-JDBC-Treiberklasse
Wiederholungsversuche abrufen
3
Definiert, wie viele Male der Verbindungspool versucht, eine neue Verbindung abzurufen
Wiederholungsverzögerung erfassen
10000
Zeit in Millisekunden, die der Verbindungspool zwischen Erfassungsversuchen wartet
Timeout beim Wiederholen eines Checkouts
1000000
Anzahl von Millisekunden, die ein Client, der getConnection aufruft, auf das Einchecken oder Erfassen einer Verbindung wartet, wenn der Pool ausgeschöpft ist
Leerlauf zwischen dem erneuten Testen des Verbindungspools (Sekunden)
60
Maximale Leerlaufzeit
0
Sekunden, die eine Verbindung im Pool, aber nicht verwendet bleiben kann, bevor sie verworfen wird. 0 bedeutet Leerlaufverbindungen laufen nie ab.
Maximales Verbindungsalter
0
Verbindungen älter als dieses Alter in Sekunden werden getrennt und aus dem Pool gelöscht. 0 bedeutet, dass kein maximales Alter erzwungen wird.
Anzahl der Helper-Threads
8
Langsame JDBC-Operationen werden im Allgemeinen von Helper-Threads durchgeführt, die keine Konfliktsperren aufweisen. Die Verteilung dieser Operationen auf mehrere Threads kann die Leistung deutlich verbessern, da mehrere Operationen gleichzeitig durchgeführt werden können.
Nicht zurückgegebener Verbindungs-Timeout
0
Wenn die Anwendung eine Verbindung abruft, sie aber nicht innerhalb des angegebenen Zeitraums schließen kann, löscht der Pool die Verbindung. 0 bedeutet "kein Timeout". Es wird erwartet, dass die Anwendungen ihre eigenen Verbindungen schließen.
Maximale Leerlaufzeit für Verbindungen über der Mindest-Poolgröße
300
Anzahl von Sekunden, die Verbindungen über minPoolSize im Leerlauf im Pool bleiben dürfen, bevor sie gelöscht werden. 0 bedeutet Folgendes: "kein Erzwingen", und entsprechende Verbindungen werden nicht gelöscht.
Abrufgröße beim Laden aller Entitäten
5000
SSL-Verbindungsmodus
disable
Legt fest, ob die SSL-Verbindung aktiviert oder deaktiviert werden soll.
SSL-Stammzertifikat-Pfad
Pfad zum SSL-Zertifikat, wenn der SSL-Verbindungsmodus aktiviert ist
Verbindungspool-Sättigungswarnungs-Grenze
85
War dies hilfreich?