package com.ejie.ad74a.scheduler;

import java.util.Calendar;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import com.ejie.ad74a.service.ExpedientesService;

/**
 * Reinvocación de Servicios de Interoperabilidad
 * 
 * @author IBERMATICA
 *
 */
public class ServInteroperabilidadJob implements Job {

	@Autowired
	private ExpedientesService expedientesService;

	private static final Logger logger = LoggerFactory.getLogger(ServInteroperabilidadJob.class);

	@Override
	public void execute(JobExecutionContext jobexecutioncontext) throws JobExecutionException {
		// ** Soporte a Autowiring ** //
		SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);

		ServInteroperabilidadJob.logger.info("--Proceso de Reinvocación de Servicios de Interoperabilidad - Fecha: "
				+ Calendar.getInstance().getTime().toString() + " --INICIO--");
		try {
			expedientesService.interoperabilidadJob();
		} catch (Exception e) {
			logger.error("Error en el proceso de Reinvocación de Servicios de Interoperabilidad", e);
		}

		ServInteroperabilidadJob.logger.info("--Proceso de Reinvocación de Servicios de Interoperabilidad - Fecha: "
				+ Calendar.getInstance().getTime().toString() + " --FIN--");
	}
}
