Ich schreibe eine JEE7-Anwendung, die in WebSphere Liberty Profile 8.5.5 ausgeführt wird. Wir verwenden JPA (das über Eclipselink in WLP implementiert wird).So erhalten Sie EntityManager für mehrere Persistenzeinheiten
Ich habe mehrere Persistenz-Einheiten in der gleichen 'persistence.xml' Datei. Ich muss auch auf zwei dieser Einheiten in derselben Klasse zugreifen.
Ich erhalte einen Laufzeitfehler, wenn ich versuche, den zweiten EntityManager zu verwenden:
@PersistenceContext(unitName = "wwer-list")
private EntityManager entityManagerWwerList;
@PersistenceContext(unitName = "main-dashboard")
private EntityManager entityManagerMainDashboard;
E WTRN0062E: An illegal attempt to use multiple resources that have only one-phase capability has occurred within a global transaction.
Wie kann ich diesen Fehler beheben?
Alle Tabellen, die ich verwende, werden nur zum Lesen benötigt. Wie kann ich angeben, dass ich nur Lesezugriff auf JPA möchte?
Ich habe dies von der Fehlermeldung erhalten. http://www-01.ibm.com/support/docview.wss?uid=swg21247192. Was ich verstehe, ist, dass Sie verteilte Transaktionen benötigen, um über zwei persistente Einheiten zu arbeiten. Sie müssen möglicherweise etwas wie Bitronix Transaktionsmanager verwenden, um das zu erreichen – kjsebastian
Wie sieht Ihre persistence.xml aus? –