2016-09-27 4 views
0

In meiner eigenständigen Java-Anwendung werden JMS und Hibernate verwendet, um meine Anforderungen zu erfüllen. Ich habe den JTA Transaktionsmanager für die Transaktionsverwaltung verwendet. Kann ich die XAResource für den Hibernate und Jms in der JTA-Transaktion registrieren, um die Atomizität meiner Anwendung zu gewährleisten.Integration der Hibernate-Transaktion in JTA-Transaktionsmanager

Antwort

0

Ja, das ist möglich. Wird manchmal als zweiphasiges Commit bezeichnet, synchronisiert es Transaktionen zwischen mehreren Ressourcen.

Zuerst stellen Sie sicher, dass Sie RDBMS unterstützt und die Funktion aktiviert ist. In PostgreSQL bedeutet dies beispielsweise, dass der Konfigurationsparameter max_prepared_transactions von postgresql.conf auf etwas über 0 gesetzt wird.

Stellen Sie außerdem sicher, dass die von Ihnen verwendete JMS-Warteschlange diese Transaktionsmethode unterstützt. In Wildfly bedeutet dies transaction="xa" auf pooled-connection-factory hinzuzufügen.

+0

Danke für Ihre Wiederholung. – Shams

+0

Könnten Sie bitte den Punkt genauer erläutern - wie wir die XAResource für die Hibernate-Transaktionen bekommen. Ich habe den JTA-Transaktionsmanager implementiert und versucht, die XAResource aus dem Ruhezustand zu übernehmen. Bitte erläutern Sie mit Beispiel. – Shams

+0

Welche Tech verwenden Sie (Datenbank, Anwendungsserver, etc)? – Radu