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…')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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).