Me respondo a mi mismo parte de la solución.
Para volver a poder desplegar la aplicación. Hay que acceder a la carpeta de glassfish donde se guardan el proyecto desplegado y eliminarla. Por lo visto esa carpeta aunque elimines la aplicación se queda allí causando problemas.
Tal como he encontrado en la última linia de https://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html el path es: as-install-parent/glassfish/domains/domain-name/generated/ejb/ejb-timer-service-app
Con esto he verificado que la aplicación con un @Schedule o un @Timeout funcionan. Las pruebas las realizaba pasando datos hacia al logger, el cual no registra (y continua sin hacerlo). He pasado a realizar las pruebas guardando datos en un fichero directamente y he verificado que funciona. Aunque esto que el logger no registre datos me trae un poco mosca.
Un saludo.
Llevo bastante batallando y buscando como poder desplegar una aplicación con una EJB que contenga un @Schedule o un @Timeout.
He seguido todos los pasos de la documentación:
- Tengo una base de datos ( en mi caso mysql).
- He creado la base de datos y he ejecutado el archivo .sql correspondiente para obtener la persistencia de los timers.
- Creo el recurso JDBC y la referencia JNDI.
- Configuro en el cluster con el JNDI en EJB Timer Service.
- Reinicio cluster.
- Finalmente, intento desplegar la aplicación.
Entonces se queda durante muchísimo rato se queda intentando desplegar hasta que sale un error:
Después del error las instancias del cluster quedan en estado pendiente reinicio.
He verificado que la conexión con la base de datos funcione correctamente. De hecho si no funciona el error es mucho más rápido y claro en su explicación. He probado de desplegar la aplicación sin cluster y funciona perfectamente.
Supongo que dicho todo supongo que me debe faltar alguna cosa a configurar pero no logro encontrar el que.
¿A alquien se le ocurre algo?
Un saludo.