Frage

Ich schreibe einen Resource Adapter, der nicht zwei Phasen unterstützt begehen. Ich weiß, dass es eine Optimierungstechnik ist genannt: „Last Ressourcenoptimierung“

.

Auf JBoss Ihre XAResource Klasse sollte LastResource implementieren, um die Optimierung zu haben.

Meine Frage ist: Wie kann dies in WebLogic, WebSpehre, Glassfish, etc getan werden ...

War es hilfreich?

Lösung

Weblogic: AFAIK (kann sehr falsch sein) nur JDBC-Treiber mit LRO verwendet werden können, und es ist eine rein administrative Aufgabe . Wenn ein Fahrer nicht XA unterstützt, kann es so konfiguriert werden, mit LRO verwendet werden: „Wählen Sie diese Option, wenn Sie nicht-XA JDBC-Verbindungen von der Datenquelle ermöglichen, wollen die Teilnahme an globalen Transaktionen zu emulieren mit JTA“ .

Im Wesentlichen duldet LRO eine Ressource, die keine Phase vorbereitet hat, und kann nur festgeschrieben oder rückgängig werden. Wenn also nur eine solche Ressource existieren in XA-Transaktion können wir zunächst versuchen, alle anderen zu bereiten, dann verpflichten, dass LRO ein, dann, wenn erfolgreich, andere zu begehen, sonst andere Rollback.

Sie sehen, gibt es keine besondere Notwendigkeit, eine Schnittstelle in deklarieren. Es ist ein Algorithmus, der mit jeder Nicht-XA-Ressource arbeiten kann. Ich bin mir nicht sicher, warum JBoss hat es, aber ich erwarte nicht, andere Server haben etwas ähnliches.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top