Auf der Seite "Erweiterte Attribute des Connection-Pools bearbeiten" können Sie Attribute angeben, die bei der Diagnose von Verbindungslecks helfen und die Benutzerfreundlichkeit verbessern.
Die Seite "Erweiterte Attribute des Connection-Pools bearbeiten" enthält die folgenden Optionen.
Schaltfläche zur Wiederherstellung der Standardwerte von Einstellungen, die Standardwerte haben. Einstellungen, die keine Standardwerte haben, werden nicht geändert.
Der Name des Connection-Pools. Der Name ist ein schreibgeschütztes Feld. Sie können den Connection-Poolnamen nur angeben, wenn Sie einen neuen JDBC-Connection-Pool erstellen.
Der Zeitraum in Sekunden, nach dessen Ablauf anormal lang ausgeführte Abfragen beendet werden. GlassFish Server legt für die erstellten Anweisungen QueryTimeout
fest. Der Wert -1 bedeutet, dass die Option deaktiviert ist. Der Standardwert ist -1.
Die Anzahl der Anweisungen, die mit dem LRU-Caching-Mechanismus (Least Recently Used, Zuletzt verwendet) gecacht werden sollen. Beim Wert 0 ist das Caching von Anweisungen deaktiviert. Der Standardwert ist 0.
Eine SQL-Zeichenfolge, die jedes Mal auszuführen ist, wenn eine Verbindung im Pool erstellt (nicht wiederverwendet) wird. Bei Ausführung dieser Zeichenfolge wird der Status der Verbindung initialisiert.
Eine durch Komma getrennte Liste mit Namen von Listener-Implementierungsklassen, die angibt, dass von Anwendungen ausgeführte SQL-Anweisungen verfolgt werden. Die Listener-Klassen müssen die org.glassfish.api.jdbc.SQLTraceListener
-Schnittstelle implementieren. Die Verwendung von Listenern ermöglicht die problemlose Filterung von Logmeldungen für die SQL-Anweisungen und unterstützt Administratoren bei der Analyse der Anweisungen.
Wenn diese Option aktiviert ist, rufen Anwendungen umbrochene JDBC-Objekte für Statement, PreparedStatement, CallableStatement, ResultSet, DatabaseMetaData ab. . Diese Option ist standardmäßig aktiviert.
Aktiviert das Connection Pooling für den Pool. Diese Option ist standardmäßig aktiviert.
Gibt das Zeitintervall (in Sekunden) zwischen aufeinander folgenden Anforderungen an, eine Verbindung maximal ein Mal zu validieren. Wenn Sie dieses Attribut auf einen angemessenen Wert setzen, wird die Anzahl der von einer Verbindung ausgegebenen Validierungsanforderungen minimiert. Der Standardwert ist 0, d.h. das Attribut ist nicht aktiviert.
Die Zeitspanne in Sekunden zur Verfolgung von Verbindungslecks in einem Connection-Pool. Mit diesem Feld können Sie potenzielle, durch die Anwendung verursachte Verbindungslecks ermitteln. Eine Verbindung, die von der Anwendung nicht innerhalb des angegebenen Zeitraums an den Pool zurückgegeben wird, wird als potenzielles Leck betrachtet, und ein Stacktrace des aufrufenden Programms wird protokolliert. Der Wert 0 bedeutet, dass die Verfolgung von Verbindungslecks deaktiviert ist. Der Standardwert ist 0.
Verwenden Sie dieses Feld in Kombination mit "Leck zurückfordern", um potenzielle, durch die Anwendung verursachte Verbindungslecks zu verhindern.
Wenn diese Option aktiviert ist, werden Verbindungen mit Leck im Pool wiederhergestellt, nachdem das Tracing von Verbindungslecks abgeschlossen ist. Diese Option ist standardmäßig deaktiviert.
Die Zeit in Sekunden für das Tracing von Anweisungslecks in einem Connection-Pool. Mit diesem Feld können Sie potenzielle, durch die Anwendung verursachte Anweisungslecks ermitteln. Eine Anweisung, die von der Anwendung nicht innerhalb des angegebenen Zeitraums an den Pool zurückgegeben wird, wird als potenzielles Leck betrachtet, und ein Stacktrace des aufrufenden Programms wird protokolliert. Der Wert 0 bedeutet, dass das Tracing von Anweisungslecks deaktiviert ist. Der Standardwert ist 0.
Verwenden Sie dieses Feld zusammen mit "Anweisungsleck zurückfordern", um potenzielle, durch die Anwendung verursachte Verbindungslecks zu verhindern.
Wenn diese Option aktiviert ist, werden Leckanweisungen im Pool wiederhergestellt, nachdem das Tracing von Anweisungslecks abgeschlossen ist. Diese Option ist standardmäßig deaktiviert.
Die Anzahl der Neuversuche, wenn bei der Erstellung einer neuen Verbindung ein Fehler aufgetreten ist. Der Wert 0 bedeutet, dass keine Neuversuche zur Verbindungsherstellung unternommen werden. Der Standardwert ist 0.
Das Intervall (in Sekunden) zwischen zwei Versuchen zur Erstellung einer Verbindung. Der Standardwert ist 10. Dieses Attribut wird nur verwendet, wenn der Wert von "Erstellungswiederholungsversuche" größer als 0 ist.
Bei aktivierter Option wird eine physische Verbindung nur dann mit einer logischen Verbindung verknüpft, wenn die Verbindung verwendet wird. Die Verknüpfung wird wieder aufgehoben, wenn die Transaktion abgeschlossen ist und eine Komponentenmethode beendet wird. Auf diese Weise wird die Wiederverwendung der physischen Verbindungen gefördert. Diese Option ist standardmäßig deaktiviert.
Bei aktivierter Option wird eine Ressource nur dann für die Transaktion eingetragen, wenn sie tatsächlich in einer Methode verwendet wird. Diese Option ist standardmäßig deaktiviert.
Bei aktivierter Option wird eine Verbindung mit einem Thread verknüpft. Wenn derselbe Thread eine weitere Verbindung benötigt, kann er die bereits mit diesem Thread verknüpfte Verbindung wiederverwenden, wodurch die zusätzliche Belastung durch das Abrufen einer weiteren Verbindung aus dem Pool vermieden wird. Diese Option ist standardmäßig deaktiviert.
Bei aktivierter Option muss eine aus dem Pool ausgewählte Verbindung mit den Verbindungen abgeglichen werden, die bestimmte Zugangsdaten aufweisen. Diese Option muss aktiviert werden, wenn der Connection-Pool von Anwendungen verwendet wird, die über mehrere Benutzerzugangsdaten verfügen. Diese Option kann ohne Probleme deaktiviert werden, wenn der Administrator weiß, dass die Verbindungen im Pool immer homogen sind und eine aus dem Pool abgerufene Verbindung daher nicht vom Ressourcenadapter abgeglichen werden muss. Diese Option ist standardmäßig deaktiviert.
Die Anzahl der Wiederverwendungen einer Verbindung durch den Pool. Nachdem eine Verbindung so häufig wie angegeben wiederverwendet wurde, wird sie geschlossen. Indem Sie die Anzahl der Wiederverwendungen einer Verbindung beschränken, können Sie Anweisungslecks vermeiden, falls eine Anwendung Anweisungen nicht schließt. Der Wert 0 bedeutet, dass die Option deaktiviert ist. Der Standardwert ist 0.
Bei aktivierter Option ist die Verbindungsvalidierung erforderlich, die dem Server bei einem Fehler einen erneuten Verbindungsaufbau ermöglicht.
GlassFish Server kann Datenbankverbindungen auf folgende Weise validieren.
auto-commit
und metadata
GlassFish Server validiert eine Verbindung durch Aufruf der Methode con.getAutoCommit
oder con.getMetaData
.
Hinweis:
Viele JDBC-Treiber cachen die Ergebnisse dieser Aufrufe. Folglich führen diese Aufrufe nicht immer zu verlässlichen Validierungen. Informieren Sie sich beim Treiberhersteller, ob diese Aufrufe gecacht werden oder nicht.custom-validation
GlassFish Server verwendet einen benutzerdefinierten Validierungsmechanismus, der durch die benutzerdefinierte Implementierungsklasse im Feld "Validierungsklassenname" angegeben wird.
table
Die Anwendung fragt die angegebene Datenbanktabelle ab. Die Tabelle muss vorhanden und zugänglich sein, sie muss aber keine Zeilen enthalten. Sie sollten keine bereits vorhandene Tabelle mit einer großen Anzahl Zeilen oder eine Tabelle verwenden, auf die häufig zugegriffen wird.
Name der zu überprüfenden Datenbanktabelle. Dieses Feld ist nur verfügbar, wenn die Validierungsmethode table
festgelegt wurde. Sie können den Namen entweder aus der Dropdown-Liste wählen oder ihn eingeben.
Der Name einer benutzerdefinierten Validierungsimplementierungsklasse. Dieses Feld ist nur verfügbar, wenn die Validierungsmethode custom-validation
festgelegt wurde. Der angegebene Klassenname muss für GlassFish Server zugänglich sein. Die angegebene Klasse muss die org.glassfish.api.jdbc.ConnectionValidation
-Schnittstelle implementieren. Sie können den Namen entweder aus der Dropdown-Liste wählen oder ihn eingeben.
Bei aktivierter Option schließt GlassFish Server alle Verbindungen im Pool und stellt sie erneut her, wenn eine Verbindung nicht erfolgreich verläuft. Bei deaktivierter Option werden einzelne Verbindungen nur bei Verwendung wiederhergestellt. Diese Option ist standardmäßig deaktiviert.
Bei aktivierter Option kann der Pool durch Aufrufe von Nicht-Komponenten, wie z.B. Servlet-Filter und Persistance Manager von Drittprovidern, verwendet werden. Verbindungen, die durch Aufrufe von Nicht-Komponenten hergestellt werden, werden am Ende einer Transaktion nicht automatisch vom Container geschlossen. Sie müssen explizit vom aufrufenden Programm geschlossen werden. Diese Option ist standardmäßig deaktiviert.
So werden allgemeine Einstellungen des JDBC-Connection-Pools bearbeitet
So werden erweiterte Attribute des JDBC-Connection-Pools bearbeitet