multiple-databases

___ qstnhdr ___ EJB3 - Verwendung von 2 Persistenzeinheiten innerhalb einer Transaktion (Ausnahme: Lokale Transaktion hat bereits 1 Nicht-XA-Ressource) ___ answer2612315 ___

Um zwei Persistenzeinheiten (und damit zwei Datenquellen) innerhalb einer Transaktion zu verwenden, müssen Sie in der Tat XA-Verbindungen verwenden und Ihre Pools entsprechend konfigurieren (mindestens eine von ihnen unterstützt GlassFish die letzte Agentenoptimierung, die sich registrieren lässt) eine nicht-XA-Ressource, siehe Ссылка ). Das war für den ersten Fehler.

Für den zweiten Fehler scheint es schwierig zu sein, etwas mit dem aktuellen Detaillierungsgrad zu sagen. Können Sie den Stack-Trace bereitstellen (aktivieren Sie bei Bedarf eine feinere Protokollierung)?

    
___ qstntxt ___

Ich versuche, in einer Java EE-Anwendung, die auf Glassfish implementiert ist, zwei Persistenzeinheiten innerhalb derselben Transaktion zu verwenden.

Die 2 Persistenzeinheiten sind wie folgt in persistence.xml definiert:

%Vor%

Diese Persistenzeinheiten entsprechen den JDBC-Ressourcen und Verbindungspools, die ich in Glassfish wie folgt definiert habe (schließen Sie hier eine ein, da beide identisch sind mit Ausnahme von Namen und Datenbankverbindungsinformationen):

%Vor%

Es gibt drei Stateless Session-Beans, LimsServiceBean, AnalysisServiceBean und AnalysisDataTransformationServiceBean.

Hier sind die relevanten Snippets von LimsServiceBean:

%Vor%

Von AnalysisServiceBean:

%Vor%

Und von AnalysisDataTransformationServiceBean:

%Vor%

Dieser Aufruf von limsService.getLatestLIMSData () verursachte die folgende Ausnahme:

%Vor%

Nachdem ich diese Seite Ссылка konsultiert habe (unter vielen anderen), habe ich versucht, die Definition zu ändern der Verbindungspools zu:

%Vor%

Ping über die Glassfish-Admin-Konsole ist erfolgreich, aber der Aufruf von analyseService.getAllAnalysisTypes () löst jetzt eine Ausnahme aus:

%Vor%

Irgendwelche Ideen?

    
___ tag123ejb30 ___ Dieses Tag wird für Fragen verwendet, die sich auf die Session Bean- und Message-Driven Bean-Komponententypen des EJB 3.0-Programmiermodells beziehen. Bei Fragen zu persistenten Entitäten, die im Dokument "Java Persistence API" der EJB 3.0-Spezifikation definiert sind, verwenden Sie das Tag [JPA]. ___ tag123glassfish ___ GlassFish ist der Referenz-Java EE-Anwendungsserver. ___ tag123mehrere Datenbanken ___ helfen uns, dieses Wiki zu bearbeiten ___ tag123persistenceunit ___ Persistenzeinheit ist eine logische Gruppierung von benutzerdefinierten persistenten Klassen (Entitätsklassen, einbettbare Klassen und zugeordnete Oberklassen) mit zugehörigen Einstellungen. ___ tag123transactions ___ Eine Reihe miteinander verbundener Operationen, die alle erfolgreich sein müssen, damit einer von ihnen erfolgreich ist. Der Ausfall einer Operation führt zu einem Rollback aller Operationen in der Transaktion. ___ answer2644714 ___

Ändern Sie die Konfiguration des Verbindungspools in Glassfish:

%Vor%

Befolgen Sie die Schritte auf Senthil Balakrishnans Blog "Wie funktioniert die MSSQL Server XA-Datenquelle?" hier, Ссылка .

Starten Sie Glassfish neu.

    
___
1
Antwort

Dynamische JPA-Verbindung

Ich habe eine ziemlich standardmäßige Java EE6-Webanwendung, die JPA 2 mit Dependency-Injection-Verbindung zu einer MySQL-Datenbank verwendet, und alles funktioniert gut. Was ich jetzt tun möchte, ist, dass diese Anwendung mit den Datenbanken an...
05.11.2010, 13:08
1
Antwort

Verwalten mehrerer Datenbanken mit NHibernate und Autofac

Ich dachte, ich würde diese Frage dort herausbringen, während ich selbst eine Lösung für mich schuf. Nachdem ich den Großteil der Anwendung erstellt habe, muss ich in letzter Minute das Lesen / Schreiben in eine zusätzliche Datenbank unterstü...
14.12.2010, 20:33
2
Antworten

EJB3 - Verwendung von 2 Persistenzeinheiten innerhalb einer Transaktion (Ausnahme: Lokale Transaktion hat bereits 1 Nicht-XA-Ressource)

Ich versuche, in einer Java EE-Anwendung, die auf Glassfish implementiert ist, zwei Persistenzeinheiten innerhalb derselben Transaktion zu verwenden. Die 2 Persistenzeinheiten sind wie folgt in persistence.xml definiert: %Vor% Diese Persi...
09.04.2010, 10:06
4
Antworten

CodeIgniter: Mehrere Datenbanken - Zugreifen auf die Datenbankkonfiguration in einer zweiten Datenbank

Ich habe mehrere Datenbanken mit CodeIgniter untersucht. Wenn ich weiß, was die Datenbanken im voraus sind, kann ich die Informationen in der Konfigurationsdatei einstellen und dann die Datenbankgruppe aufrufen, die ich brauche. In meiner Sit...
11.03.2013, 20:55