package org.quickbundle.third.quartz.listener;
import java.net.Inet4Address;
import org.quartz.JobExecutionContext;
import org.quartz.Trigger;
import org.quartz.Trigger.CompletedExecutionInstruction;
import org.quartz.TriggerListener;
import org.quickbundle.project.listener.RmGlobalMonitor;
import org.quickbundle.third.quartz.rmschedulerevent.vo.RmSchedulerEventVo;
import org.quickbundle.third.quartz.util.ISchedulerConstants;
import org.quickbundle.tools.helper.RmDateHelper;
public class TriggerEventListener implements TriggerListener {
public String getName() {
return this.getClass().getSimpleName();
}
/**
*
*/
static EventLog2DbService eventBuf = new EventLog2DbService("触发器事件");
private RmSchedulerEventVo buildEventVo(Trigger trigger) {
RmSchedulerEventVo vo = new RmSchedulerEventVo();
vo.setCost_millis(0);
String ip = null;
try {
ip = Inet4Address.getLocalHost().getHostAddress();
} catch (Exception e) {
// ignore
}
vo.setCreate_ip(ip);
vo.setCreate_time(RmDateHelper.getSysTimestamp());
vo.setIs_archive("0");
vo.setJob_group(trigger.getJobKey().getGroup());
vo.setJob_name(trigger.getJobKey().getName());
vo.setUuid(RmGlobalMonitor.uniqueUUID.get());
vo.setTrigger_group(trigger.getKey().getGroup());
vo.setTrigger_name(trigger.getKey().getName());
return vo;
}
public void triggerFired(Trigger trigger, JobExecutionContext context) {
}
public boolean vetoJobExecution(Trigger trigger, JobExecutionContext context) {
return false;
}
public void triggerMisfired(Trigger trigger) {
RmSchedulerEventVo vo = buildEventVo(trigger);
vo.setEvent_type(ISchedulerConstants.EventType.MISFIRE.name());
eventBuf.add(vo);
}
public void triggerComplete(Trigger trigger, JobExecutionContext context, CompletedExecutionInstruction triggerInstructionCode) {
}
}