Selaa lähdekoodia

Listener 优化

MaxKey 1 vuosi sitten
vanhempi
commit
fd27ae9e7a

+ 5 - 6
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";

+ 1 - 1
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){

+ 18 - 20
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> 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);    
 	}

+ 1 - 1
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 {