ThingWorx Modelldefinition in Composer > Datenspeicher > Persistenzanbieter > H2 als Persistenzanbieter verwenden
H2 als Persistenzanbieter verwenden
H2 ist eine Java-SQL-Datenbank (Open Source). Der Persistenzanbieter H2 unterstützt Modell- und Datenanbieter.
H2 verwenden
1. Wenn Sie zusätzliche Persistenzanbieter-Instanzen in ThingWorx erstellen möchten, die mit dem H2-Datenspeicher verbunden sind, gehen Sie zu DATENSPEICHER > Persistenzanbieter, und klicken Sie auf Neu.
2. Geben Sie im Bildschirm Allgemeine Informationen einen Namen für den Persistenzanbieter ein.
3. Verwenden Sie im Feld Persistenzanbieter-Paket den Zauberstab, um das H2-Persistenzanbieter-Paket auszuwählen.
4. Klicken Sie auf Konfiguration, und konfigurieren Sie folgende Einstellungen, um eine Verbindung zu H2 herzustellen:
Name
Standardwert
Hinweise
Verbindungspool-Anfangsgröße
5
Anzahl von Verbindungen, die ein Pool versucht, beim Start abzurufen
Inkrement beim Abrufen der Verbindung
5
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
5
Minimale Anzahl von Verbindungen, die ein Pool zu einem beliebigen Zeitpunkt aufrechterhält
Maximale zwischengespeicherte Anweisungen
100
Größe des globalen PreparedStatement-Cache
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
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.
Maximale zwischengespeicherte Anweisungen pro Verbindung
50
Sie sollten diesen Wert nicht ändern, da er auf die Anzahl der häufig verwendeten Anweisungen im Code optimiert ist. Dies ist die Anzahl vorbereiteter Anweisungen, die c3p0 für eine einzelne Pool-Verbindung zwischenspeichert. Wenn maxStatements und maxStatementsPerConnection 0 sind, ist die Anweisungszwischenspeicherung nicht aktiviert. Wenn maxStatementsPerConnection gleich 0, aber maxStatements ungleich 0 ist, wird die Anweisungszwischenspeicherung aktiviert, und ein globaler Grenzwert wird erzwungen. Andernfalls wird kein Grenzwert für die Anzahl der zwischengespeicherten Anweisungen für eine einzelne Verbindung festgelegt.
Bei Festlegung sollte maxStatementsPerConnection auf die Anzahl der verschiedenen vorbereiteten Anweisungen festgelegt werden, die häufig in Ihrer Anwendung verwendet werden, plus zwei oder drei extra, sodass nicht häufige Anweisungen nicht den Aufruf allgemeiner zwischengespeicherter Anweisungen erzwingen.
Obwohl maxStatements der JDBC-Standardparameter für die Steuerung der Anweisungszwischenspeicherung ist, sind Benutzer evtl. der Meinung, dass maxStatementsPerConnection intuitiver ist.
Tabellensperre-Timeout
10000
Die Anzahl von Sekunden, bis eine Sperren-Timeout-Ausnahme ausgegeben wird.
5. Migrieren Sie Entitäten und Daten ggf.
6. Überwachen und verwalten Sie Ihre H2-Implementierung.
* 
Die Datei platform-settings.json ist für H2 optional. Sie ist für Administratoren verfügbar, um Einstellungen für eine weitere Optimierung anzupassen.