tobby48 5 years ago
parent
commit
5d07f4c5d8
1 changed files with 99 additions and 101 deletions
  1. 99
    101
      src/main/java/kr/co/swh/lecture/opensource/quartz/QuartzMain.java

+ 99
- 101
src/main/java/kr/co/swh/lecture/opensource/quartz/QuartzMain.java View File

@@ -1,101 +1,99 @@
1
-package kr.co.swh.lecture.opensource.quartz;
2
-
3
-import java.util.UUID;
4
-
5
-import org.quartz.CronScheduleBuilder;
6
-import org.quartz.JobBuilder;
7
-import org.quartz.JobDetail;
8
-import org.quartz.SchedulerException;
9
-import org.quartz.Trigger;
10
-import org.quartz.TriggerBuilder;
11
-import org.quartz.impl.StdSchedulerFactory;
12
-
13
-/**
14
- * <pre>
15
- * kr.co.swh.lecture.opensource.quartz
16
- * QuartzMain.java
17
- *
18
- * 설명 :
19
- * </pre>
20
- * 
21
- * @since : 2018. 9. 30.
22
- * @author : tobby48
23
- * @version : v1.0
24
- */
25
-public class QuartzMain {
26
-	private StdSchedulerFactory schedulerFactory;
27
-	private org.quartz.Scheduler scheduler;
28
-	
29
-	public QuartzMain(){
30
-		schedulerFactory = new org.quartz.impl.StdSchedulerFactory();
31
-		try {
32
-			scheduler = schedulerFactory.getScheduler();
33
-		} catch (SchedulerException e) {
34
-			// TODO Auto-generated catch block
35
-			e.printStackTrace();
36
-		}
37
-	}
38
-	
39
-	public boolean initialise(String cronExpr, Class<SchedulerProcessor> class1){
40
-		String id = UUID.randomUUID().toString();
41
-		String cron = String.valueOf(cronExpr);
42
-		
43
-		JobDetail newJob = JobBuilder.newJob(class1).withIdentity(id).build();
44
-		Trigger trigger = null;
45
-		try {
46
-			trigger = TriggerBuilder.newTrigger().withIdentity("trigger_" + id)
47
-					.withSchedule(CronScheduleBuilder.cronSchedule(cron)).forJob(id)
48
-					.build();
49
-			if (trigger != null) {
50
-				scheduler.scheduleJob(newJob, trigger);
51
-			}
52
-		} catch (Exception e) {
53
-		}
54
-		return true;
55
-	}
56
-	
57
-	public void start(){
58
-		try {
59
-			scheduler.start();
60
-		} catch (SchedulerException e) {
61
-			// TODO Auto-generated catch block
62
-			e.printStackTrace();
63
-		}
64
-	}
65
-	
66
-	public void stop(){
67
-		try {
68
-			if(schedulerFactory != null && scheduler.isStarted()){
69
-				scheduler.shutdown();
70
-			}
71
-		} catch (SchedulerException e) {
72
-			// TODO Auto-generated catch block
73
-			e.printStackTrace();
74
-		}
75
-	}
76
-	
77
-	
78
-	public static void main(String[] args) {
79
-		// TODO Auto-generated method stub
80
-		QuartzMain quartz = new QuartzMain();
81
-		
82
-//		0/1 * * * * ?         매 1초 간격
83
-//		0 0/1 * * * ?         매 1분 간격
84
-//		0 0 0/1 * * ?         매 1시간 간격
85
-//		0 0 0 * * ?            매일 0시 마다
86
-//		0 0 0 1 * ?            매월 1일 마다
87
-//		0 0 0 1,10,20 * ?    매월 1일, 10일, 20일 마다
88
-		
89
-		if(quartz.initialise("0/1 * * * * ?", SchedulerProcessor.class)){
90
-			quartz.start();
91
-			try {
92
-				Thread.sleep(10000);
93
-			} catch (InterruptedException e) {
94
-				// TODO Auto-generated catch block
95
-				e.printStackTrace();
96
-			}
97
-			quartz.stop();
98
-		}
99
-	}
100
-
101
-}
1
+package kr.co.swh.lecture.opensource.quartz;
2
+
3
+import java.util.UUID;
4
+
5
+import org.quartz.CronScheduleBuilder;
6
+import org.quartz.JobBuilder;
7
+import org.quartz.JobDetail;
8
+import org.quartz.SchedulerException;
9
+import org.quartz.Trigger;
10
+import org.quartz.TriggerBuilder;
11
+import org.quartz.impl.StdSchedulerFactory;
12
+
13
+/**
14
+ * <pre>
15
+ * kr.co.swh.lecture.opensource.quartz
16
+ * QuartzMain.java
17
+ *
18
+ * 설명 :
19
+ * </pre>
20
+ * 
21
+ * @since : 2018. 9. 30.
22
+ * @author : tobby48
23
+ * @version : v1.0
24
+ */
25
+public class QuartzMain {
26
+	private StdSchedulerFactory schedulerFactory;
27
+	private org.quartz.Scheduler scheduler;
28
+	
29
+	public QuartzMain(){
30
+		schedulerFactory = new org.quartz.impl.StdSchedulerFactory();
31
+		try {
32
+			scheduler = schedulerFactory.getScheduler();
33
+		} catch (SchedulerException e) {
34
+			// TODO Auto-generated catch block
35
+			e.printStackTrace();
36
+		}
37
+	}
38
+	
39
+	public boolean initialise(String cronExpr, Class<SchedulerProcessor> class1){
40
+		String id = UUID.randomUUID().toString();
41
+		
42
+		JobDetail newJob = JobBuilder.newJob(class1).withIdentity(id).build();
43
+		Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger_" + id)
44
+				.withSchedule(CronScheduleBuilder.cronSchedule(cronExpr)).forJob(id)
45
+				.build();
46
+		if (trigger != null) {
47
+			try {
48
+				scheduler.scheduleJob(newJob, trigger);
49
+			} catch (SchedulerException e) {
50
+				// TODO Auto-generated catch block
51
+				e.printStackTrace();
52
+			}
53
+		}
54
+		return true;
55
+	}
56
+	
57
+	public void start(){
58
+		try {
59
+			scheduler.start();
60
+		} catch (SchedulerException e) {
61
+			// TODO Auto-generated catch block
62
+			e.printStackTrace();
63
+		}
64
+	}
65
+	
66
+	public void stop(){
67
+		try {
68
+			if(schedulerFactory != null && scheduler.isStarted()){
69
+				scheduler.shutdown();
70
+			}
71
+		} catch (SchedulerException e) {
72
+			// TODO Auto-generated catch block
73
+			e.printStackTrace();
74
+		}
75
+	}
76
+	
77
+	public static void main(String[] args) {
78
+		// TODO Auto-generated method stub
79
+		QuartzMain quartz = new QuartzMain();
80
+		
81
+//		0/1 * * * * ?         매 1초 간격
82
+//		0 0/1 * * * ?         매 1분 간격
83
+//		0 0 0/1 * * ?         매 1시간 간격
84
+//		0 0 0 * * ?            매일 0시 마다
85
+//		0 0 0 1 * ?            매월 1일 마다
86
+//		0 0 0 1,10,20 * ?    매월 1일, 10일, 20일 마다
87
+		
88
+		if(quartz.initialise("0/1 * * * * ?", SchedulerProcessor.class)){
89
+			quartz.start();
90
+			try {
91
+				Thread.sleep(10000);
92
+			} catch (InterruptedException e) {
93
+				// TODO Auto-generated catch block
94
+				e.printStackTrace();
95
+			}
96
+			quartz.stop();
97
+		}
98
+	}
99
+}