24731 - Não é possível realizar deploy - Failed to start database
Problema:
Solução:
Não é possível realizar o deploy no glassfish, avaliando os logs da inicialização do glassfish é encontrada a mensagem abaixo:
SEVERE|glassfish3.1.2|org.eclipse.persistence.session.file:/C:/glassfish3/glassfish/domains/domain1/applications/ejb-timer-service-app/WEB-INF/classes/___EJB__Timer__App.ejb|_ThreadID=1;_ThreadName=Thread-2;|Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Failed to start database 'C:\glassfish3\glassfish\domains\domain1/lib/databases/ejbtimer' with class loader java.net.URLClassLoader@594001dc, see the next exception for details.
Error Code: 0
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:309)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:135)
at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:584)
Solução:
ATENÇÃO, ESTA SOLUÇÃO NÃO SE APLICA À CSM CENTER
Conforme o log, o glassfish não consegue iniciar o banco de dados de timers, que está localizado em '../glassfish/domains/*Dominio*/lib/databases/ejbtimer'.
Para solucionar o problema:
Parar o Glassfish;
Renomear a pasta "ejbtimer" que está em '../glassfish/domains/domain1/lib/databases/'
Iniciar o glassfish.
Depois do domínio iniciar com sucesso, fazer o deploy novamente.