85 lines
2.6 KiB
Plaintext
Executable File
85 lines
2.6 KiB
Plaintext
Executable File
package com.fp.facade.ejb;
|
|
|
|
import javax.annotation.PostConstruct;
|
|
import javax.annotation.PreDestroy;
|
|
import javax.ejb.Singleton;
|
|
import javax.ejb.Startup;
|
|
import javax.persistence.EntityManager;
|
|
|
|
import com.fp.base.persistence.util.job.ServiceManager;
|
|
import com.fp.common.logger.APPLogger;
|
|
import com.fp.facade.ejb.helper.BeanHelper;
|
|
import com.fp.general.scheduler.MiaScheduler;
|
|
import com.fp.persistence.commondb.PersistenceHelper;
|
|
import com.fp.persistence.commondb.PersistenceManager;
|
|
|
|
@Singleton
|
|
@Startup
|
|
public class JobsIniciatorBean extends BeanHelper {
|
|
|
|
/** Variable que controla que los job's inicien. */
|
|
private boolean iniciar = false;
|
|
private MiaScheduler ms;
|
|
@PostConstruct
|
|
protected void iniciartareas() {
|
|
if (!iniciar) {
|
|
APPLogger.getLogger().error("INICIA EJECUCION DE TAREAS O DEMONIOS EN EL SERVIDOR");
|
|
try {
|
|
this.startJobs();
|
|
iniciar = true;
|
|
} catch (Exception e) {
|
|
APPLogger.getLogger().error(e.getStackTrace());
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Metodo que inicia el Job de tareas automaticas.
|
|
*
|
|
* @throws Exception
|
|
*/
|
|
public void startJobs() throws Exception {
|
|
this.fillThreadFacade(this.getCompany(null));
|
|
EntityManager em = PersistenceManager.getInstance().createEntityManagerLocal();
|
|
PersistenceHelper.setEntityManager(em);
|
|
try {
|
|
APPLogger.getLogger().error("Inicia Servidor Contable");
|
|
ServiceManager sm = new ServiceManager();
|
|
// Inicia tareas automaticas.
|
|
sm.autoamaticInit();
|
|
APPLogger.getLogger().error("Servidor Contable ok");
|
|
} catch (Exception e) {
|
|
} finally {
|
|
PersistenceHelper.closeSession();
|
|
}
|
|
this.scheduleJObs();
|
|
|
|
}
|
|
|
|
/**
|
|
* Metodo que inicia la ejeciucion de tareas calendarizadas.
|
|
*
|
|
* @throws Exception
|
|
*/
|
|
private void scheduleJObs() throws Exception {
|
|
this.fillThreadFacade(this.getCompany(null));
|
|
EntityManager em = PersistenceManager.getInstance().createEntityManagerLocal();
|
|
PersistenceHelper.setEntityManager(em);
|
|
try {
|
|
// Levanta ejecutor de tareas calendarizadas.
|
|
MiaScheduler ms = new MiaScheduler();
|
|
ms.init();
|
|
} catch (Exception e) {
|
|
} finally {
|
|
PersistenceHelper.closeSession();
|
|
}
|
|
}
|
|
|
|
@PreDestroy
|
|
private void detenerJobs() throws Exception{
|
|
ms.detenerJob();
|
|
}
|
|
}
|