lunes, 1 de junio de 2009

AUTOMATIZACIÒN DE PROCESOS CON 'QUARZ'

Hace tiempo estaba buscando alguna forma de como realizar 'Procesos Automàticos', que estos se ejecuten periodicamente, que a la vez la configuracion de estos Procesos Automaticos conocidos como (JOBs) sean totalmente personalizables y los importante que sea hecho en JAVA. Indagando encontre este muy buen 'Framework' 'QUARZ', que permite todo lo anterior dicho y màs. Aquì muestro el manejo de este muy buen Framework:

Configuraciòn:
1.-Configuramos el Web.xml, ingresando el acceso al servlet:

[servlet]
[servlet-name]QuartzInitializer[/servlet-name]
[display-name]Quartz Initializer Servlet[/display-name]
[servlet-class]org.quartz.ee.servlet.QuartzInitializerServlet
[/servlet-class]
[load-on-startup]1[/load-on-startup]
[/servlet]

[servlet]
[servlet-name]QuarzMB[/servlet-name]
[display-name]Quartz Servlet[/display-name]
[servlet-class]org.java.manageBean.QuarzMB[/servlet-class]
[load-on-startup]2[/load-on-startup]
[/servlet]


2.- Este al ejecutarce la aplicaciòn accedera automaticamente a:
'org.java.manageBean.QuarzMB' y a su metodo:

public void init( ServletConfig config ) throws ServletException{
System.out.println( "DENTRO DE 'init( ServletConfig config )' " );

super.init( config );

try{
this.IniciarQuarz();
}
catch( IOException e ){
e.printStackTrace();
}
}

3.-En el metodo 'IniciarQuarz()' descomentaremos el ejemplo de los tres ejemplos que he preparado para la demostracion de este Framework:

public void IniciarQuarz() throws ServletException, IOException{
System.out.println( "DENTRO DE 'IniciarQuarz()' " );

try{
this.fechaInicio = new Date();
this.fechaFin = null;

QuarzMB job = new QuarzMB();
job.iniciarEjemploJob_01( this.fechaInicio, this.fechaFin );
//job.iniciarEjemploJob_02( this.fechaFin );
//job.iniciarEjemploJob_03( this.fechaInicio, this.fechaFin );
}
catch( Exception e ){
e.printStackTrace();
}
}

4.- Por ejemplo la salida al ejecutarce el Ejemplo #1 se darìa cada 5 segundos y serìa la siguiente (En realidad no se envìa los emails, pero si dentro de dicho mètodo se hace una funcionalidad de envìo de emails funcionarà sin problema):


------------- ['2009-06-01 23:19:20'] JOB Ejecutado ------------
******* DENTRO DE 'envioAlertaProceso_01()' *******
Enviando Email...#0 [cesarricardo_guerra19@hotmail.com] a Cesar Ricardo
Enviando Email...#1 [magaly_027@hotmail.com] a Catherine Magaly
Enviando Email...#2 [i220051@cibertec.edu.pe] a Milko Samame

------------- ['2009-06-01 23:19:25'] JOB Ejecutado ------------
******* DENTRO DE 'envioAlertaProceso_01()' *******
Enviando Email...#0 [cesarricardo_guerra19@hotmail.com] a Cesar Ricardo
Enviando Email...#1 [magaly_027@hotmail.com] a Catherine Magaly
Enviando Email...#2 [i220051@cibertec.edu.pe] a Milko Samame

------------- ['2009-06-01 23:19:30'] JOB Ejecutado ------------
******* DENTRO DE 'envioAlertaProceso_01()' *******
Enviando Email...#0 [cesarricardo_guerra19@hotmail.com] a Cesar Ricardo
Enviando Email...#1 [magaly_027@hotmail.com] a Catherine Magaly
Enviando Email...#2 [i220051@cibertec.edu.pe] a Milko Samame


Para un mejor entendimiento del manejo de este Framework, puedes descargar el proyecto 'Eclipse' completo: AQUI.

No hay comentarios: