Auf der Seite "Erweiterte Attribute des Verbindungspools bearbeiten" können Sie Attribute festlegen, die bei der Diagnose von Verbindungslecks helfen und die Benutzerfreundlichkeit verbessern.
Die Seite "Erweiterte Attribute des Verbindungspools bearbeiten" enthält die folgenden Optionen.
Schaltfläche zum Wiederherstellen der Standardwerte für alle Einstellungen.
Der Name des Verbindungspools. Der Name ist ein schreibgeschütztes Feld. Sie können den Verbindungspoolnamen nur angeben, wenn Sie einen neuen JDBC-Verbindungspool erstellen.
Der Zeitraum in Sekunden, nach dessen Ablauf abnormal 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) zwischengespeichert werden sollen. Beim Wert 0 ist die Zwischenspeicherung von Anweisungen deaktiviert. Der Standardwert ist 0.
Eine SQL-Zeichenfolge, die jedesmal auszuführen ist, wenn eine Verbindung im Pool erstellt (nicht wiederverwendet) wird. Bei Ausführung dieser Zeichenfolge wird der Status der Verbindung initialisiert.
Eine mit Kommata getrennte Liste mit Namen von Zielgeräte-Implementierungsklassen, die angibt, dass von Anwendungen ausgeführte SQL-Anweisungen verfolgt werden. Die Zielgeräteklassen müssen die Schnittstelle org.glassfish.api.jdbc.SQLTraceListener implementieren. Die Verwendung von Zielgeräten ermöglicht die problemlose Filterung von Protokollmeldungen für die SQL-Anweisungen und unterstützt Administratoren bei der Analyse der Anweisungen.
Wenn diese Option aktiviert ist, erhalten die Anwendungen umbrochene JDBC-Objekte für Statement, PreparedStatement, CallableStatement, ResultSet, DatabaseMetaData. Diese Option ist standardmäßig aktiviert.
Aktiviert das Verbindungspooling für den Pool. Diese Option ist standardmäßig aktiviert.
Die Zeitspanne in Sekunden, nach der eine Verbindung mindestens einmal überprüft wird. Durch diese Einstellung wird die Anzahl der Überprüfungsanforderungen einer Verbindung reduziert. Der Standardwert ist 0.
Die Zeitspanne in Sekunden zur Verfolgung von Verbindungslecks in einem Verbindungspool. 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 Stackprotokoll des aufrufenden Programms wird protokolliert. Der Wert 60 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 die Verfolgung von Verbindungslecks 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 "Herstellungs-Neuversuche" höher als 0 liegt.
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 Credentials aufweisen. Diese Option muss aktiviert werden, wenn der Verbindungspools von Anwendungen verwendet wird, die über mehrere Benutzer-Credentials 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 Verbindungsüberprüfung erforderlich, die dem Server bei einem Fehlschlagen einen erneuten Verbindungsaufbau ermöglicht.
GlassFish-Server kann Datenbankverbindungen auf folgende Weisen überprüfen.
GlassFish-Server überprüft eine Verbindung durch Aufruf der Methode con.getAutoCommit oder con.getMetaData.
Hinweis - Viele JDBC-Treiber zwischenspeichern die Ergebnisse dieser Aufrufe. Folglich führen diese Aufrufe nicht immer zu verlässlichen Überprüfungen. Informieren Sie sich beim Treiberhersteller, ob diese Aufrufe zwischengespeichert werden oder nicht.
GlassFish-Server verwendet einen benutzerdefinierten Überprüfungsmechanismus, der durch die benutzerdefinierte Implementierungsklasse im Feld Überprüfungsklassenname angegeben wird.
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 Überprüfungsmethode table festgelegt wurde.
Der Name einer benutzerdefinierten Überprüfungsimplementierungsklasse. Dieses Feld ist nur verfügbar, wenn die Überprüfungsmethode custom-validation? festgelegt wurde. Der angegebene Klassenname muss für GlassFish-Server zugänglich sein. Die angegebene Klasse muss die Schnittstelle org.glassfish.api.jdbc.ConnectionValidation implementieren.
Bei aktivierter Option schließt GlassFish-Server alle Verbindungen im Pool und stellt sie erneut her, wenn eine Verbindung fehlschlägt. 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. Servletfilter und Persistance Manager von Drittanbietern, 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 bearbeiten Sie die allgemeinen JDBC-Verbindungspooleinstellungen
So bearbeiten Sie die erweiterten Attribute eines JDBC-Verbindungspools