Ejecuciones automaticas en Liferay
De Dos Ideas.
Revisión del 13:06 23 jul 2013 de Emiliano.tebes (discusión | contribuciones) (→Crear una tarea automática (CRON))
Crear una tarea automática (CRON)
Para crear una tarea que se ejecute automáticamente vamos a valernos de un portlet que vamos a desplegar en el portal.
- 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.MiClaseCron</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.MiClaseCron; 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á. } }
En caso de usar Spring, tener en cuenta que el CRON al momento en que corre deberá levantar el contexto, lo cual podría traernos algún dolor de cabeza..