Olhando para a seguinte linha no stacktrace
você pode adivinhar qual pode ser o problema. O primeiro problema é o problema do driver de banco de dados, eu acho.
1527
é o número da porta padrão do banco de dados derby que é enviado com o servidor de aplicativos Glassfish. Como você não forneceu nenhuma fonte de dados em sua configuração, o servidor está tentando encontrar o banco de dados padrão que é o derby neste caso; mas você não pode se conectar a esse banco de dados, pois não forneceu nenhuma informação de conexão para este banco de dados.
Então você tem que fazer o seguinte no seu
META-INF/persistence.xml
:-
Forneça otransaction-type
(em sua configuração, assume-se que seja JTA porque você está implantando seu aplicativo no ambiente JEE por especificação) como
<persistence-unit name="unit" transaction-type="JTA">
-
Forneça ojta-data-source
elemento como filho depersistence-unit
<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
Para que a configuração acima funcione, você precisa configurar seu servidor de aplicativos (Glassfish) primeiro. Para fazer isso, você precisa baixar o driver jdbc do MySQL, descompactá-lo e copiar o arquivo jar em
<glassfish_installation_directory>/glassfish/domains/domain1/lib
(Estou assumindo aqui Glassfish 3.1). A razão para isso é que o Glassfish não é fornecido com o driver MySQL, então você deve fazer isso sozinho. Depois disso, inicie o Glassfish e abra o console de administração (http://localhost:4848 ). No painel esquerdo aberto
Resources/JDBC/JDBC Connection Pools
e crie um novo pool de conexõesResources/JDBC/JDBC Resources
e crie uma nova fonte de dados. O nome que você dá à sua fonte de dados é aquele que você precisa em seupersistence.xml
como mencionado acima.