Ejecuciones automaticas en Liferay
De Dos Ideas.
Revisión del 13:00 23 jul 2013 de Emiliano.tebes (discusión | contribuciones) (Página creada con '=== Crear una tarea automática (CRON)=== *1- Configurar el CRON en el archivo liferay-portlet.xml que se encuentra en la carpeta WEB-INF de nuestro proyecto: <portlet> <p…')
Crear una tarea automática (CRON)
- 1- Configurar el CRON en el archivo liferay-portlet.xml que se encuentra en la carpeta WEB-INF de nuestro proyecto:
<portlet> <portlet-name>NombreDelPortlet</portlet-name> <icon>/icon.png</icon> <scheduler-entry> <scheduler-description>descripcion</scheduler-description> <scheduler-event-listener-class>com.connectis.tucu.cron.NotificacionCron</scheduler-event-listener-class> <!- Aca va la clase que contiene el CRON en el proyecto(con la lógica que ejecuta) -> <trigger> <!- Configuración del tiempo para que corra el CRON -> <simple-trigger-value>15</simple-trigger-value> <time-unit>minute</time-unit> </trigger> </scheduler-entry> </portlet>
- 2- Creamos la clase CRON con la lógica que ejecutará (es necesario que implemente la interfaz MessageListener de Liferay):
package com.connectis.tucu.cron; import com.liferay.portal.kernel.messaging.Message; import com.liferay.portal.kernel.messaging.MessageListener; import com.liferay.portal.kernel.messaging.MessageListenerException; public class NotificacionCron implements MessageListener { public void receive(Message arg0) throws MessageListenerException { //Aca va la logica que se ejecutará. } }
Tener en cuenta que el CRON al momento en que corre deberá levantar el contexto, esto puede traer inconvenientes al igual que las conexiones a la base de datos (nosotros optamos por cerrar la conexión cada vez que finalizamos una transacción con el CRON).