Tittar på följande rad i stacktrace
du kan gissa vad problemet kan vara. Det första problemet är problemet med databasdrivrutinen tror jag. 1527 är standardportnumret för derbydatabasen som levereras med Glassfish-applikationsservern.
Eftersom du inte har angett någon datakälla i din konfiguration försöker servern hitta standarddatabasen som är derby i det här fallet; men du kan inte ansluta till den databasen eftersom du inte har angett någon anslutningsinformation för den här databasen.
Så du måste göra följande i din META-INF/persistence.xml :
-
Ange
transaction-type(i din konfiguration antas det vara JTA eftersom du distribuerar din applikation i JEE-miljö per specifikation) som<persistence-unit name="unit" transaction-type="JTA"> -
Ange
jta-data-sourceelement som ett underordnatpersistence-unit<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
För att ovanstående konfiguration ska fungera måste du först konfigurera din applikationsserver (Glassfish). För att göra det måste du ladda ner MySQL jdbc-drivrutinen, packa upp den och kopiera jar-filen till <glassfish_installation_directory>/glassfish/domains/domain1/lib (Jag antar här Glassfish 3.1). Anledningen till detta är att Glassfish inte levereras med MySQL-drivrutin, så du måste göra detta själv.
Efter detta starta Glassfish och öppna administratörskonsolen (https://localhost:4848 ). Öppna den vänstra rutan
Resources/JDBC/JDBC Connection Poolsoch skapa en ny anslutningspoolResources/JDBC/JDBC Resourcesoch skapa en ny datakälla. Namnet du ger din datakälla är det du måste i dinpersistence.xmlsom nämnts ovan.