Datenquelleneigenschaften in WebSphere Application Server
Verwenden Sie diese Seite, um erweiterte Datenquelleneigenschaften im Anwendungsserver festzulegen. Diese Eigenschaften aktivieren und konfigurieren Services, die der Anwendungsserver auf Datenquellen anwendet, um Verbindungen in einem Anwendungsserver anzupassen. Diese Eigenschaften haben keine Auswirkungen auf Verbindungen in der Datenbank.
Größe des Anweisungscaches
Gibt die Anzahl der Anweisungen an, die pro Verbindung zwischengespeichert werden können. Wenn Sie eine Anweisung schließen, speichert der Anwendungsserver diese Anweisung im Cache.
- Eine vorbereitete Anweisung ist eine vorkompilierte SQL-Anweisung, die in einem PreparedStatement-Objekt gespeichert ist. Der Anwendungsserver verwendet dieses Objekt, um die SQL-Anweisung bei entsprechendem Bedarf in der Laufzeitumgebung der Anwendung mehrfach mit Werten, die von der Laufzeitumgebung bestimmt werden, auszuführen.
- Eine aufrufbare Anweisung ist eine SQL-Anweisung, die einen Aufruf an eine gespeicherte Prozedur enthält, d. h. eine Reihe vorkompilierter Anweisungen, die eine Task ausführen und ein Ergebnis zurückgeben. Die Anweisung wird im CallableStatement-Objekt gespeichert. Der Anwendungsserver verwendet dieses Objekt, um eine gespeicherte Prozedur bei entsprechendem Bedarf in der Laufzeitumgebung der Anwendung mehrfach mit Werten, die von der Laufzeitumgebung bestimmt werden, auszuführen.
Wenn der Anweisungscache nicht groß genug ist, werden möglicherweise wichtige Einträge gelöscht, um Platz für neue Einträge zu schaffen. Wenn Sie vermeiden möchten, dass Einträge aus dem Cache verworfen werden, können Sie den Maximalwert für die Cachegröße wie folgt bestimmen. Addieren Sie die Anzahl eindeutig vorbereiteter und aufrufbarer Anweisungen (ermittelt durch SQL-Zeichenfolge, Parallelität und Anzeigetyp) aller Anwendungen, die diese Datenquelle auf einem bestimmten Server verwenden. Dieser Wert gibt die Maximalanzahl möglicher Anweisungen an, die für eine bestimmte Verbindung während der Lebensdauer des Servers zwischengespeichert werden können. Wenn Sie die Cachegröße auf diesen Wert einstellen, bedeutet das, dass der Cache nie gelöscht wird. Konfigurieren Sie generell einen größeren Cache für Anwendungen mit einer hohen Anzahl an Anweisungen.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Wenn eine bestimmte Anweisung vorhanden ist, die der Anwendungsserver nicht zwischenspeichern soll, konfigurieren Sie den Hinweis auf die Poolfähigkeit der Anwendung mit false. Wenn der Hinweis auf die Poolfähigkeit auf false gesetzt ist, werden Anweisungen vom Anwendungsserver nicht zwischengespeichert. Die Anwendung gibt die Hinweise zur Poolfähigkeit von Anweisungen zur Laufzeit an.
In Testanwendungen können Sie durch die Optimierung des Anweisungscaches den Durchsatz von 10 % auf 20 % verbessern. Es kann sein, dass dieser Optimierungsprozess aufgrund von Ressourceneinschränkungen nicht immer möglich ist.
Information | Wert |
---|---|
Datentyp | Integer |
Standardeinstellung | Der Standardwert richtet sich nach der Datenbank. Gewöhnlich ist 10 der Standardwert. Für die Informix-Versionen 7.3, 9.2, 9.3 und 9.4 ohne die entsprechenden aktuellen Fixes muss 0 als Standardwert verwendet werden. Der Standardwert 0 bedeutet, dass es keine Cacheanweisung gibt. |
Erkennung von Multithread-Zugriffen aktivieren
J2CA0167W: Es wurde versucht, eine Verbindungskennung in mehreren Threads zu verwenden. Die Verbindungskennung ist {0}.
DSRA8720W: Multithread-Zugriff auf {0}. Letzte Verwendung mit Thread-ID: {1}. Aktuelle Thread-ID: {2} Stack-Trace des aktuellen Thread: {3}
Erneute Authentifizierung der Datenbank aktivieren
Gibt an, dass es keine exakte Übereinstimmung mit Verbindungen aus dem Verbindungspool des Anwendungsservers geben kann (die Suchkriterien für den Verbindungspool enthalten keinen Benutzernamen und kein Kennwort). Stattdessen wird die erneute Authentifizierung der Verbindung in der Methode "doConnectionSetupPerTransaction()" der Klasse "DataStoreHelper" durchgeführt. Der Anwendungsserver stellt zur Laufzeit keine Implementierung für die erneute Authentifizierung der Verbindung bereit. Deshalb müssen Sie bei Auswahl dieses Feldes die Klasse "DataStoreHelper" erweitern und eine Implementierung der Methode "doConnectionSetupPerTransaction()" bereitstellen, in der die erneute Authentifizierung stattfindet. Wenn Sie dies nicht tun, kann der Anwendungsserver nicht verwendbare Verbindungen zurückgeben. Weitere Informationen finden Sie in der API-Dokumentation zur Methode "com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction".

JMS-Unterstützung für einphasige Optimierung aktivieren
Wenn Sie diese Option auswählen, verwendet der Anwendungsserver Java™ Message Service (JMS), um optimierte Verbindungen von dieser Datenquelle abzurufen. Diese Eigenschaft verhindert, dass JDBC-Anwendungen (Java Database Connectivity) Verbindungen mit CMP-Anwendungen (Container-Managed Persistence, über Container realisierte Transaktionspersistenz) gemeinsam nutzen. Diese Option ist nicht verfügbar, wenn der JDBC-Provider der Datenquelle ein XA-Provider ist.
Kennungen im Cache verwalten
Gibt an, ob der Container zwischengespeicherte Kennungen überwacht, d. h. Kennungen, die eine Anwendungskomponente auch über Transaktions- und Methodengrenzen hinweg aktiv hält. Sie können die Eigenschaft verwenden, um Verbindungsprobleme zu untersuchen, aber die Überwachung von Kennungen kann zur Laufzeit zu erheblichen Leistungsproblemen führen.
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
Fehlenden Transaktionskontext protokollieren
Gibt an, ob der Container eine Eingabe für das Aktivitätenprotokoll absetzt, wenn eine Anwendung eine Verbindung ohne Transaktionskontext anfordert. Dies sind Ausnahmen in Bezug auf Verbindungsvoraussetzungen im Java-EE-Programmiermodell (Java Platform, Enterprise Edition).
Nicht transaktionsorientierte Datenquelle

Ausnahmeprüfmodell von WebSphere Application Server verwenden
Gibt an, dass der Anwendungsserver die Fehlerzuordnungsfunktion verwendet, die im Datastore-Helper für die Identifizierung von Fehlern definiert ist. Der Anwendungsserver ersetzt Ausnahmen, die vom JDBC-Treiber ausgelöst werden, nicht durch Ausnahmen, die in der Fehlerzuordnung des Datastore-Helpers definiert sind.
Ausnahmezuordnungsmodell von WebSphere Application Server verwenden
Gibt an, dass der Anwendungsserver die Fehlerzuordnungsfunktion verwendet, die im Datastore-Helper für die Identifizierung von Fehlern definiert ist, und die Ausnahmen, die vom JDBC-Treiber ausgelöst werden, durch Ausnahmen ersetzt, die in der Fehlerzuordnung des Datastore-Helpers definiert sind.
Neue Verbindungen validieren
Gibt an, dass der Verbindungsmanager neu erstellte Verbindungen zur Datenbank testet.
Anzahl der Wiederholungen
Gibt an, wie oft versucht werden soll, die einleitende Verbindung zu einer Datenbank herzustellen, wenn die erste Vorabtestoperation scheitert.
Wiederholungsintervall
Wenn Sie Neue Verbindungen validieren auswählen, gibt diese Option an, wie lange (in Sekunden) der Anwendungsserver wartet, bevor er versucht, eine Verbindung zu wiederholen, falls der erste Versuch scheitert.
Vorhandene Verbindungen im Pool validieren
Gibt an, dass der Verbindungsmanager die Gültigkeit von Verbindungen im Pool testet, bevor er sie an Anwendungen zurückgibt.
Wiederholungsintervall
Wenn Sie Vorhandene Verbindungen im Pool validieren auswählen, gibt diese Option an, wie viel Zeit (in Sekunden) dem JDBC-Treiber für die Validierung einer Verbindung zugestanden wird.
Validierung durch JDBC-Treiber
Gibt an, dass der Anwendungsserver den JDBC-Treiber für die Validierung der Verbindungen verwendet. Der JDBC-Provider muss JDBC 4.0 oder höher unterstützen, um diese Option verwenden zu können. Diese Option ist nur verfügbar, wenn Neue Verbindungen validieren oder Vorhandene Verbindungen im Pool validieren ausgewählt ist.
Zeitlimit
Validierung durch SQL-Abfrage (veraltet)
Gibt eine SQL-Anweisung an, die der Anwendungsserver zum Testen der Verbindung an die Datenbank sendet. Verwenden Sie eine Abfrage, die voraussichtlich nur geringe Auswirkungen auf die Leistung hat. Diese Option ist nur verfügbar, wenn Neue Verbindungen validieren oder Vorhandene Verbindungen im Pool validieren ausgewählt ist.
Für Verbindungsmuster "Abrufen/Verwenden/Schließen" mit heterogenem Pooling optimieren
Optimiert die Datenquelle für Anwendungen, die das Beispiel "Verbindung abrufen/Verbindung verwenden/Verbindung schließen" verwenden. Diese Optimierung ermöglicht dem Verbindungspool für die Datenquelle die gemeinsame Nutzung von Verbindungen, die sich in derselben Transaktion befinden. Mit diesem Optimierungsmuster können Sie eine Verbindung während einer Transaktion gemeinsam nutzen, und zwar auch dann, wenn Verbindungen unterschiedliche Verbindungseigenschaften verwenden.
Mit dem Feature für heterogene Verbindungspools müssen Sie zuerst die Datenquellendefinition erweitern, um andere angepasste Eigenschaften anzugeben oder Anwendungen das Überschreiben von Datenquelleneigenschaften zu ermöglichen, die keine Basiseigenschaften sind. Weitere Informationen zum Erweitern von Datenquellen finden Sie in den Informationen zum Erweitern von DB2-Datenquellendefinitionen auf Anwendungsebene.
Wiederholungsintervall für Clientweiterleitung
Gibt die Zeit (in Sekunden) zwischen den Versuchen einer automatischen Clientweiterleitung an.
Maximale Wiederholungsanzahl für Clientweiterleitung
Gibt die maximale Anzahl an Verbindungswiederholungen an, die die Funktion für automatische Clientweiterleitung verwendet, wenn die einleitende Verbindungsherstellung zum Server scheitert. Diese Eigenschaft wird nur verwendet, wenn das Wiederholungsintervall für Clientweiterleitung definiert ist.
Alternative Servernamen
host1,host2
Alternative Portnummern
5000,50001
JNDI-Name der Serverliste für Clientweiterleitung
Gibt den JNDI-Namen an, der verwendet wird, um die Serverliste für die Weiterleitung von DB2-Clients an den JNDI-Namespace zu binden. Der DB2-Datenbankserver verwendet diesen Namen, um die Liste der alternativen Servernamen zu suchen, wenn keine Informationen zu alternativen Servern im Hauptspeicher vorhanden sind. Diese Option wird für Datenquellen des Typs 2 nicht unterstützt.
Bindung der Liste für Clientweiterleitung zu JNDI aufheben
Wird nur zum Testen von Verbindungen verwendet. Wenn Sie diese Einstellung auf true setzen, wird die Bindung des JNDI-Namens der Serverliste für Clientweiterleitung zum JNDI-Namespace nach dem Herstellen einer Testverbindung aufgehoben.