Osservando la riga seguente nello stacktrace
puoi indovinare quale può essere il problema. Il primo problema è il problema del driver del database, penso. 1527
è il numero di porta predefinito del database derby fornito con il server delle applicazioni Glassfish.
Poiché non hai fornito alcuna origine dati nella tua configurazione, il server sta cercando di trovare il database predefinito che in questo caso è derby; ma non puoi connetterti a quel database poiché non hai fornito alcuna informazione di connessione per questo database.
Quindi devi fare quanto segue nel tuo META-INF/persistence.xml
:
-
Fornisci il
transaction-type
(nella tua configurazione si presume che sia JTA perché stai distribuendo la tua applicazione in ambiente JEE secondo le specifiche) come<persistence-unit name="unit" transaction-type="JTA">
-
Fornisci il
jta-data-source
elemento come figlio dipersistence-unit
<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
Affinché la configurazione di cui sopra funzioni, è necessario configurare prima il server delle applicazioni (Glassfish). Per farlo devi scaricare il driver MySQL jdbc, scompattarlo e copiare il file jar in <glassfish_installation_directory>/glassfish/domains/domain1/lib
(Sto assumendo qui Glassfish 3.1). La ragione di ciò è che Glassfish non viene fornito con il driver MySQL, quindi devi farlo tu stesso.
Dopodiché, avvia Glassfish e apri la console di amministrazione (http://localhost:4848 ). Nel riquadro sinistro apri
Resources/JDBC/JDBC Connection Pools
e crea un nuovo pool di connessioniResources/JDBC/JDBC Resources
e creare una nuova origine dati. Il nome che dai alla tua origine dati è quello che devi inserire nel tuopersistence.xml
come detto sopra.