diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java index 462f064aa..92ad6ba5d 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java @@ -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"; diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/DynamicGroupsListenerAdapter.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/DynamicGroupsListenerAdapter.java index 3b1271e5d..8f5d0b22b 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/DynamicGroupsListenerAdapter.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/DynamicGroupsListenerAdapter.java @@ -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){ diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/ListenerAdapter.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/ListenerAdapter.java index a2796eafa..db50f2d34 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/ListenerAdapter.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/ListenerAdapter.java @@ -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 getParameter(String name, Class requiredType) { return (T) context.getMergedJobDataMap().get(name); - }; + } public static void addListener( - Class jobClass, Scheduler scheduler , - JobDataMap jobDataMap, - String cronSchedule, - String identity + Class 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); } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/SessionListenerAdapter.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/SessionListenerAdapter.java index e49de9fca..73b0d6f1c 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/SessionListenerAdapter.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/listener/SessionListenerAdapter.java @@ -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 {