Listener 优化
This commit is contained in:
@@ -45,11 +45,11 @@ public class MaxKeyMgtListenerConfig {
|
||||
Scheduler scheduler,
|
||||
SessionManager sessionManager) throws SchedulerException {
|
||||
ListenerAdapter.addListener(
|
||||
SessionListenerAdapter.class,
|
||||
scheduler,
|
||||
new ListenerParameter().add("sessionManager",sessionManager).build(),
|
||||
SessionListenerAdapter.class,
|
||||
"0 0/10 * * * ?",//10 minutes
|
||||
SessionListenerAdapter.class.getSimpleName()
|
||||
new ListenerParameter().add("sessionManager",sessionManager).build()
|
||||
|
||||
);
|
||||
logger.debug("Session ListenerAdapter inited .");
|
||||
return "sessionListenerAdapter";
|
||||
@@ -63,11 +63,10 @@ public class MaxKeyMgtListenerConfig {
|
||||
) throws SchedulerException {
|
||||
|
||||
ListenerAdapter.addListener(
|
||||
scheduler,
|
||||
DynamicGroupsListenerAdapter.class,
|
||||
scheduler,
|
||||
new ListenerParameter().add("groupsService",groupsService).build(),
|
||||
cronSchedule,
|
||||
DynamicGroupsListenerAdapter.class.getSimpleName()
|
||||
new ListenerParameter().add("groupsService",groupsService).build()
|
||||
);
|
||||
logger.debug("DynamicGroups ListenerAdapter inited .");
|
||||
return "dynamicGroupsListenerAdapter";
|
||||
|
||||
@@ -30,7 +30,7 @@ public class DynamicGroupsListenerAdapter extends ListenerAdapter implements Jo
|
||||
|
||||
private static final long serialVersionUID = 8831626240807856084L;
|
||||
|
||||
private GroupsService groupsService = null;
|
||||
transient GroupsService groupsService;
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext context){
|
||||
|
||||
@@ -34,10 +34,10 @@ public class ListenerAdapter {
|
||||
JobExecutionContext context;
|
||||
|
||||
public static final class JOBSTATUS{
|
||||
public static int STOP = 0;
|
||||
public static int RUNNING = 1;
|
||||
public static int ERROR = 2;
|
||||
public static int FINISHED = 3;
|
||||
public static final int STOP = 0;
|
||||
public static final int RUNNING = 1;
|
||||
public static final int ERROR = 2;
|
||||
public static final int FINISHED = 3;
|
||||
}
|
||||
|
||||
protected int jobStatus = JOBSTATUS.STOP;
|
||||
@@ -45,35 +45,33 @@ public class ListenerAdapter {
|
||||
|
||||
void init(JobExecutionContext context){
|
||||
this.context = context;
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> T getParameter(String name, Class<T> requiredType) {
|
||||
return (T) context.getMergedJobDataMap().get(name);
|
||||
};
|
||||
}
|
||||
|
||||
public static void addListener(
|
||||
Class <? extends Job> jobClass,
|
||||
Scheduler scheduler ,
|
||||
JobDataMap jobDataMap,
|
||||
String cronSchedule,
|
||||
String identity
|
||||
Class <? extends Job> jobClass,
|
||||
String cronSchedule,
|
||||
JobDataMap jobDataMap
|
||||
) throws SchedulerException {
|
||||
String identity = jobClass.getSimpleName();
|
||||
logger.debug("Cron {} , Job schedule {} ", cronSchedule , identity );
|
||||
|
||||
JobDetail jobDetail =
|
||||
JobBuilder.newJob(jobClass)
|
||||
.withIdentity(identity, identity + "Group")
|
||||
.build();
|
||||
JobDetail jobDetail = JobBuilder.newJob(jobClass)
|
||||
.withIdentity(identity, identity + "Group")
|
||||
.build();
|
||||
|
||||
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronSchedule);
|
||||
|
||||
CronTrigger cronTrigger =
|
||||
TriggerBuilder.newTrigger()
|
||||
.withIdentity("trigger" + identity, identity + "TriggerGroup")
|
||||
.usingJobData(jobDataMap)
|
||||
.withSchedule(scheduleBuilder)
|
||||
.build();
|
||||
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
|
||||
.withIdentity("trigger" + identity, identity + "TriggerGroup")
|
||||
.usingJobData(jobDataMap)
|
||||
.withSchedule(scheduleBuilder)
|
||||
.build();
|
||||
|
||||
scheduler.scheduleJob(jobDetail,cronTrigger);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class SessionListenerAdapter extends ListenerAdapter implements Job , S
|
||||
|
||||
private static final long serialVersionUID = 4782358765969474833L;
|
||||
|
||||
SessionManager sessionManager;
|
||||
transient SessionManager sessionManager;
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||
|
||||
Reference in New Issue
Block a user