Warum wird kein jdbc-Verbindungspool erstellt?

9

Ich entwickle eine einfache Java-EE-Anwendung mit einer EAR-Datei, die JAR- und WAR-Dateien enthält. Im EAR-Projekt unter EarContent / META-INF habe ich folgende glassfish-resources.xml:

%Vor%

Im EJB-Projekt unter META-INF habe ich folgende persistence.xml:

%Vor%

Ich habe einen laufenden Derby-Server und die Portnummer ist korrekt. Die Anwendung funktioniert, außer dass keine Datenbank erstellt wird. Was kann falsch sein? Dieser Ansatz arbeitete mit Glassfish 3.1.

Hank

    
iHank 13.12.2015, 21:24
quelle

2 Antworten

1

Es scheint, dass die Konfiguration von Glassfish v4 der jdbc-Datenquelle sich ein wenig von v3 geändert hat. Sie müssen die Eigenschaft connectionAttributes angeben, um die Datenbank zu erstellen. Die Eigenschaft createDatabase ist nicht dokumentiert und wird wahrscheinlich ignoriert.

Property connectionAttributes ist ebenfalls nicht gut dokumentiert, aber Sie finden ein Beispiel in Glassfish 4 PDF-Dokumentation ( Administrationshandbuch - Abschnitt Verwalten von JDBC-connectino-Pools) oder in Quellen von Payara Server , der von Glassfish 4 abgeleitet ist.

    
OndrejM 14.12.2015 09:22
quelle
1

Ich hatte vor einem Monat mit einem ähnlichen Problem zu kämpfen. Am Ende hatte ich folgenden Status in meinen XMLs (im Vergleich zu dir):

glassfish-resources.xml

  • Ich habe URL und driverClass Eigenschaften zu glassfish-resources.xml hinzugefügt
  • Ich bin mir nicht sicher, ob dies zwingend erforderlich ist, aber ich hatte unterschiedliche Werte für jndi-name und pool-name
  • Ich habe mysql verwendet, also hatte mein jdbc-connection-pool -Tag diese beiden Attribute: %Code%
  • Nein res-type="javax.sql.DataSource",
    datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
    Eigenschaft

Edit: Hier sind meine glassfish-Ressourcen (es wurde tatsächlich automatisch von netbeans generiert, ich habe gerade die richtigen Zugangsdaten und Ressourcennamen hinzugefügt)

%Vor%

persistence.xml

%Vor%

Gemäß der aktuellen GF-Dokumentation wird createDatabase nur für die Generierung von Server-Ressourcen (Verbindungspool und JDBC-Ressource) verwendet, und die Datenbankgenerierung kann einfach von glassfish-resources.xml aus verwaltet werden.

    
Vanja Lee 22.12.2015 13:00
quelle

Tags und Links