[AIX Solaris HP-UX Linux Windows][IBM i]

Verbindungen gemeinsam nutzen, um von der 1-PC-Optimierung zu profitieren

In einigen Fällen können Sie Ihre JMS-Anwendung so konfigurieren, dass sie dieselbe JDBC-Verbindung wie die Messaging-Engine verwendet. Die gemeinsame Nutzung von Verbindungen ermöglicht Ihnen die Optimierung mit einphasiger Festschreibung. Dies kann die Leistung Ihrer Anwendung verbessern.

Informationen zu diesem Vorgang

Messaging-Engines speichern persistente Daten in einer Datenbank. Dazu wird eine JDBC-Datenquelle verwendet, die mit dieser Datenbank interagiert. Einige JMS-Anwendungen speichern persistente Daten ebenfalls in einer Datenbank, z. B., wenn die Anwendung Entity-Beans verwendet. In der Regel verwenden solche Anwendungen 2-PC-Transaktionen, um Aktualisierungen für die beteiligten JMS- und JDBC-Ressourcen zu koordinieren.
Sie können Ihre Anwendung so konfigurieren, dass sie die von einer Messaging-Engine verwendete JDBC-Verbindung nutzt. Auf diese Weise können Sie 1-PC-Transaktionen verwenden und die Leistung Ihrer Anwendung verbessern. In den folgenden Fällen können Sie die Vorteile der 1-PC-Optimierung nutzen:
  • Ihre Anwendung muss das Zuverlässigkeitsattribut "Garantiert, persistent" für ihre JMS-Nachrichten verwenden.
  • Ihre Anwendung muss CMP-Entity-Beans (Container-managed Persistence, über Container realisierte Transaktionspersistenz) verwenden, die an dieselbe JDBC-Datenquelle gebunden sind, die die Messaging-Engine für ihren Datenspeicher verwendet.
Einschränkung: In den folgenden Fällen können Sie die Vorteile der 1-PC-Optimierung nicht nutzen:
  • Ihre Anwendung verwendet ein anderes Zuverlässigkeitsattribut als "Garantiert, persistent" für ihre JMS-Nachrichten.
  • Ihre Anwendung verwendet BMP-Entity-Beans oder JDBC-Clients.
  • Ihre Anwendung verwendet DB2 High Availability Disaster Recovery (HADR).

Stellen Sie vor der Konfiguration Ihres Systems sicher, dass Sie alle Komponenten Ihrer Java EE-Anwendung berücksichtigt haben, die von 1-PC-Operationen betroffen sein könnten.

Vorgehensweise

  1. Wählen Sie das Zuverlässigkeitsattribut "Garantiert, persistent" für Ihre JMS-Nachrichten aus.
  2. Implementieren Sie alle CMP-Enterprise-Beans, die an 1-PC-Transaktionen beteiligt sind, mit der res-auth-Einstellung Container.
  3. Implementieren Sie alle CMP-Enterprise-Beans, die an einphasigen Festschreibungstransaktionen beteiligt sind und deren AccessIntent-Einstellung der Transaktionsisolationsstufe JDBC Read Committed entspricht. Sie können die folgenden Werte für AccessIntent auswählen:
    • WSOptimisticUpdate
    • WSOptimisticRead
    • WSPessimisticUpdate-NoCollisions
    Tipp für Oracle: Alle Werte für AccessIntent mit Ausnahme von WSPessimisticUpdateExclusive sind für die Transaktionsisolationsstufe JDBC Read Committed geeignet.
    Tipp für DB2 : Sie können jeden Wert für AccessIntent verwenden, weil WebSphere Application Server die DB2-Unterstützung für dynamische Transaktionsisolationsstufen nutzt.
  4. Verwenden Sie für Ihre CMP-Enterprise-Beans und den Datenspeicher der Messaging-Engine unbedingt denselben Authentifizierungsalias.
  5. Wählen Sie bei der Konfiguration der JDBC-Datenquelle die Option Datenquelle für CMP-Beans verwenden aus.
  6. Setzen Sie die angepasste Eigenschaft jmsOnePhaseOptimization für die JDBC-Datenquelle auf true.
  7. Verwenden Sie die Anzeigen für JMS-Verbindungsfactory bzw. Aktivierungsspezifikationen, um die Option Datenquelle mit CMP freigeben auszuwählen.
  8. Wählen Sie beim Erstellen des JDBC-Providers im Feld Implementierungstyp auswählen die Option Datenquelle für Verbindungspool (und nicht XA-Datenquelle) aus.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjm0280_
Dateiname:tjm0280_.html