Mithilfe von JDBC-Providerressourcen eines Brokers
können Sie die Verwendung von Thread-Pools unabhängig von Thread-Pools für
Nachrichtenflüsse und Empfangsknoten konfigurieren.
WebSphere Message
Broker
verwaltet JDBC-Verbindungen wie folgt:
- Nicht gepoolte Verbindungen:
- WebSphere Message
Broker erstellt bei Bedarf eine JDBC-Verbindung für jede
Nachrichtenflussinstanz, die eine Verbindung anfordert.
- Jede JDBC-Verbindung wird der Nachrichtenflussinstanz zugeordnet, für die sie erstellt
wurde. Diese Zuordnung wird aufrechterhalten, bis die Verbindung geschlossen wird.
- Jede JDBC-Verbindung, die 60 Sekunden lang inaktiv ist, wird geschlossen und ist nicht mehr
einer Nachrichtenflussinstanz zugeordnet.
- Nachdem eine JDBC-Verbindung, die einer Nachrichtenflussinstanz zugeordnet war, geschlossen
wurde, erstellt WebSphere Message
Broker bei Bedarf eine neue JDBC-Verbindung,
falls dieselbe Nachrichtenflussinstanz eine JDBC-Verbindung anfordert.
- Gepoolte Verbindungen:
- Wenn eine Nachrichtenflussinstanz eine JDBC-Verbindung anfordert, ordnet
WebSphere Message
Broker eine nicht verwendete Verbindung aus dem Pool zu.
- Wenn bereits alle gepoolten JDBC-Verbindungen zugeordnet sind, aber die maximale Poolgröße noch
nicht erreicht ist, erstellt WebSphere Message
Broker eine neue gepoolte
JDBC-Verbindung. Die maximale Poolgröße wird mit der Eigenschaft
maxConnectionPoolSize des Konfigurierbarer JDBCProviders-Service
festgelegt.
- Jede gepoolte JDBC-Verbindung bleibt einer Nachrichtenflussinstanz nur für die Verarbeitung
einer einzigen Eingabenachricht zugeordnet.
- Sobald eine Nachrichtenflussinstanz die Verarbeitung einer Eingabenachricht beendet hat, wird
die Zuordnung der JDBC-Verbindung aufgehoben und die JDBC-Verbindung wieder in den Pool gestellt.
- Jede gepoolte JDBC-Verbindung, die 15 Minuten lang inaktiv ist, wird geschlossen und aus dem
Pool entfernt.
- Gepoolte JDBC-Verbindungen sind nicht für
DatabaseRetrieve- und
DatabaseRoute-Knoten
verwendbar.
Mithilfe eines JDBC-Verbindungspools kann der
Datenbankzugriff unabhängig von der Anzahl der Nachrichtenflussthreads skaliert werden.
Sie
können eine JDBC-Verbindung erstellen, indem Sie die Eigenschaft
maxConnectionPoolSize des Konfigurierbarer JDBCProviders-Service auf
einen ganzzahligen Wert ungleich null setzen.
Die Eigenschaft
maxConnectionPoolSize gibt auf Ausführungsgruppenebene die maximale Anzahl von
JDBC-Verbindungsthreads an, die verwendet werden können. Bei Angabe des Werts null wird das
Standardverhalten von
WebSphere Message
Broker Version 8.0
aktiviert, bei dem eine JDBC-Verbindung für jeden Nachrichtenflussthread erstellt wird.
Alle
Nachrichtenflüsse innerhalb einer Ausführungsgruppe, die denselben konfigurierbaren
JDBCProviders-Service verwenden, nutzen auch einen gemeinsamen
Verbindungspool. Sie können das Verhalten eines JDBC-Verbindungspools mithilfe der
Brokerressourcenstatistik überwachen.
Die Eigenschaft maxConnectionPoolSize
ist für JDBC-Verbindungen, die über die API getJDBCType4Connection() des
JavaCompute-Knotens eingerichtet
werden, und für Datenbankoperationen in grafischen Datenzuordnungen,
die vom Mapping-Knoten aufgerufen werden,
anwendbar.
Hinweis: Die Eigenschaft maxConnectionPoolSize ist nicht für
JDBC-Verbindungen anwendbar, die von DatabaseRetrieve-
oder DatabaseRoute-Knoten verwendet werden.