添加默认的接口实现,并且设置成可被替换的

This commit is contained in:
wangkang
2017-09-01 09:59:00 +08:00
parent 26cea62f03
commit 2cd0f4ebc5
8 changed files with 110 additions and 34 deletions
@@ -9,6 +9,7 @@ package org.itkk.udf.scheduler.client.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.util.Map;
@@ -20,6 +21,7 @@ import java.util.Map;
*/
@ApiModel(description = "通用job参数")
@Data
@ToString
public class RmsJobParam implements Serializable {
/**
@@ -9,6 +9,7 @@ package org.itkk.udf.scheduler.client.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.util.Date;
@@ -20,6 +21,7 @@ import java.util.Date;
*/
@ApiModel(description = "通用job返回值")
@Data
@ToString
public class RmsJobResult implements Serializable {
/**
@@ -18,9 +18,9 @@ public interface IListenerEvent {
/**
* 描述 : 记录日志
*
* @param log log
* @param scheduledTriggerLog scheduledTriggerLog
*/
void save(ScheduledTriggerLog log);
void save(ScheduledTriggerLog scheduledTriggerLog);
/**
* 描述 : 删除记录
@@ -37,9 +37,9 @@ public interface IListenerEvent {
/**
* 描述 : 记录日志
*
* @param log log
* @param saveLog saveLog
*/
void save(String log);
void save(String saveLog);
/**
* 描述 : 清理日志
@@ -7,6 +7,8 @@
package org.itkk.udf.scheduler;
import lombok.Data;
import org.itkk.udf.scheduler.impl.DefListenerEvent;
import org.itkk.udf.scheduler.impl.DefRmsJobEvent;
import org.itkk.udf.scheduler.job.ClearScheduledLog;
import org.itkk.udf.scheduler.job.ClearScheduledTriggerLog;
import org.itkk.udf.scheduler.listener.JobDetailListener;
@@ -17,6 +19,8 @@ import org.quartz.spi.JobFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.SearchStrategy;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
@@ -260,4 +264,26 @@ public class SchedulerConfig {
return factoryBean;
}
/**
* rmsJobEvent
*
* @return IRmsJobEvent
*/
@Bean
@ConditionalOnMissingBean(value = IRmsJobEvent.class, search = SearchStrategy.CURRENT)
public IRmsJobEvent rmsJobEvent() {
return new DefRmsJobEvent();
}
/**
* listenerEvent
*
* @return IListenerEvent
*/
@Bean
@ConditionalOnMissingBean(value = IListenerEvent.class, search = SearchStrategy.CURRENT)
public IListenerEvent listenerEvent() {
return new DefListenerEvent();
}
}
@@ -9,6 +9,7 @@ package org.itkk.udf.scheduler.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;
import java.util.Date;
@@ -20,6 +21,7 @@ import java.util.Date;
*/
@ApiModel(description = "计划任务触发日志")
@Data
@ToString
public class ScheduledTriggerLog implements Serializable {
private static final long serialVersionUID = 1L;
@@ -0,0 +1,38 @@
package org.itkk.udf.scheduler.impl;
import lombok.extern.slf4j.Slf4j;
import org.itkk.udf.scheduler.IListenerEvent;
import org.itkk.udf.scheduler.domain.ScheduledTriggerLog;
/**
* DefListenerEvent
*/
@Slf4j
public class DefListenerEvent implements IListenerEvent {
@Override
public void save(ScheduledTriggerLog scheduledTriggerLog) {
log.info("----- DefListenerEvent.ScheduledTriggerLog -----> {}", scheduledTriggerLog.toString());
}
@Override
public void delete(String fireInstanceId) {
log.info("----- DefListenerEvent.delete -----> {}", fireInstanceId);
}
@Override
public void save(String saveLog) {
log.info("----- DefListenerEvent.save -----> {}", saveLog);
}
@Override
public void clearScheduledTriggerLog() {
log.info("----- DefListenerEvent.clearScheduledTriggerLog ----->");
}
@Override
public void clearScheduledLog() {
log.info("----- DefListenerEvent.clearScheduledLog ----->");
}
}
@@ -0,0 +1,34 @@
package org.itkk.udf.scheduler.impl;
import lombok.extern.slf4j.Slf4j;
import org.itkk.udf.scheduler.IRmsJobEvent;
import org.itkk.udf.scheduler.client.domain.RmsJobParam;
import org.itkk.udf.scheduler.client.domain.RmsJobResult;
/**
* DefRmsJobEvent
*/
@Slf4j
public class DefRmsJobEvent implements IRmsJobEvent {
@Override
public boolean hasRunning(RmsJobParam rmsJobParam) {
log.info("----- DefRmsJobEvent.hasRunning -----> {}", rmsJobParam.toString());
return false;
}
@Override
public void save(RmsJobParam param, RmsJobResult result) {
if (param != null) {
log.info("----- DefRmsJobEvent.save -----> {}", param.toString());
}
if (result != null) {
log.info("----- DefRmsJobEvent.save -----> {}", result.toString());
}
}
@Override
public void delete(String fireInstanceId) {
log.info("----- DefRmsJobEvent.delete -----> {}", fireInstanceId);
}
}
@@ -1,6 +1,5 @@
package org.itkk.udf.scheduler.listener;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.itkk.udf.scheduler.IListenerEvent;
@@ -21,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired;
* Date: 2014年1月24日
* </p>
*/
@Slf4j
public class SchListener implements SchedulerListener {
/**
@@ -47,7 +45,6 @@ public class SchListener implements SchedulerListener {
@Override
public void triggerPaused(TriggerKey triggerKey) {
String logMsg = "(triggerPaused)" + triggerKey.getName() + "/" + triggerKey.getGroup() + "被暂停了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -57,7 +54,6 @@ public class SchListener implements SchedulerListener {
public void triggerResumed(TriggerKey triggerKey) {
String logMsg =
"(triggerResumed)" + triggerKey.getName() + CHAR_1 + triggerKey.getGroup() + "被恢复了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -68,7 +64,6 @@ public class SchListener implements SchedulerListener {
String logMsg = "(jobScheduled)" + ZHUOYE + trigger.getJobKey().getName() + CHAR_1
+ trigger.getJobKey().getGroup() + "被触发器" + trigger.getKey().getName() + CHAR_1
+ trigger.getKey().getGroup() + "触发了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -76,9 +71,7 @@ public class SchListener implements SchedulerListener {
@Override
public void jobUnscheduled(TriggerKey triggerKey) {
String logMsg =
"(jobUnscheduled)" + triggerKey.getName() + CHAR_1 + triggerKey.getGroup() + "被移除了";
log.info(logMsg);
String logMsg = "(jobUnscheduled)" + triggerKey.getName() + CHAR_1 + triggerKey.getGroup() + "被移除了";
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -89,7 +82,6 @@ public class SchListener implements SchedulerListener {
String logMsg = "(triggerFinalized)" + ZHUOYE + trigger.getJobKey().getName() + CHAR_1
+ trigger.getJobKey().getGroup() + ",触发器" + trigger.getKey().getName() + CHAR_1
+ trigger.getKey().getGroup() + "已经执行完成,后续将不会继续触发";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -99,13 +91,11 @@ public class SchListener implements SchedulerListener {
public void triggersPaused(String triggerGroup) {
if (StringUtils.isEmpty(triggerGroup)) {
String logMsg = "(triggersPaused)" + "触发器组全部被暂停了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
} else {
String logMsg = "(triggersPaused)" + "触发器组" + triggerGroup + "被暂停了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -117,13 +107,11 @@ public class SchListener implements SchedulerListener {
public void triggersResumed(String triggerGroup) {
if (StringUtils.isEmpty(triggerGroup)) {
String logMsg = "(triggersResumed)" + "触发器组全部被恢复了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
} else {
String logMsg = "(triggersResumed)" + "触发器组" + triggerGroup + "被恢复了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -132,9 +120,7 @@ public class SchListener implements SchedulerListener {
@Override
public void jobAdded(JobDetail jobDetail) {
String logMsg = "(jobAdded)" + ZHUOYE + jobDetail.getKey().getName() + CHAR_1
+ jobDetail.getKey().getGroup() + "被添加了";
log.info(logMsg);
String logMsg = "(jobAdded)" + ZHUOYE + jobDetail.getKey().getName() + CHAR_1 + jobDetail.getKey().getGroup() + "被添加了";
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -143,7 +129,6 @@ public class SchListener implements SchedulerListener {
@Override
public void jobDeleted(JobKey jobKey) {
String logMsg = "(jobDeleted)" + ZHUOYE + jobKey.getName() + CHAR_1 + jobKey.getGroup() + "被删除了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -152,7 +137,6 @@ public class SchListener implements SchedulerListener {
@Override
public void jobPaused(JobKey jobKey) {
String logMsg = "(jobPaused)" + ZHUOYE + jobKey.getName() + CHAR_1 + jobKey.getGroup() + "被暂停了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -162,13 +146,11 @@ public class SchListener implements SchedulerListener {
public void jobsPaused(String jobGroup) {
if (StringUtils.isEmpty(jobGroup)) {
String logMsg = "(jobsPaused)" + "作业全部被暂停了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
} else {
String logMsg = "(jobsPaused)" + "作业组" + jobGroup + "被暂停了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -179,7 +161,6 @@ public class SchListener implements SchedulerListener {
@Override
public void jobResumed(JobKey jobKey) {
String logMsg = "(jobResumed)" + ZHUOYE + jobKey.getName() + CHAR_1 + jobKey.getGroup() + "被恢复了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -189,13 +170,11 @@ public class SchListener implements SchedulerListener {
public void jobsResumed(String jobGroup) {
if (StringUtils.isEmpty(jobGroup)) {
String logMsg = "(jobsResumed)" + "作业全部被恢复了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
} else {
String logMsg = "(jobsResumed)" + "作业组" + jobGroup + "被恢复了";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -207,7 +186,6 @@ public class SchListener implements SchedulerListener {
// 获得异常详细信息
String exceptionDetail = ExceptionUtils.getStackTrace(cause);
String logMsg = "(schedulerError)" + "计划任务出错:" + msg + "\n" + exceptionDetail;
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -216,7 +194,6 @@ public class SchListener implements SchedulerListener {
@Override
public void schedulerInStandbyMode() {
String logMsg = "(schedulerInStandbyMode)" + "计划任务为待机状态";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -225,7 +202,6 @@ public class SchListener implements SchedulerListener {
@Override
public void schedulerStarted() {
String logMsg = "(schedulerStarted)" + "计划任务已经启动";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -234,7 +210,6 @@ public class SchListener implements SchedulerListener {
@Override
public void schedulerStarting() {
String logMsg = "(schedulerStarting)" + "计划任务正在启动中";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -243,7 +218,6 @@ public class SchListener implements SchedulerListener {
@Override
public void schedulerShutdown() {
String logMsg = "(schedulerShutdown)" + "计划任务已关闭";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -252,7 +226,6 @@ public class SchListener implements SchedulerListener {
@Override
public void schedulerShuttingdown() {
String logMsg = "(schedulerShuttingdown)" + "计划任务正在关闭中";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}
@@ -261,7 +234,6 @@ public class SchListener implements SchedulerListener {
@Override
public void schedulingDataCleared() {
String logMsg = "(schedulingDataCleared)" + "计划任务数据被清除";
log.info(logMsg);
if (listenerLog != null) {
listenerLog.save(logMsg);
}