瀏覽代碼

。。。

gaodd 4 年之前
父節點
當前提交
579e04dbf3

+ 0 - 55
src/main/java/com/chinaitop/depot/config/ScheduleConfig.java

@@ -1,55 +0,0 @@
1
-package com.chinaitop.depot.config;
2
-
3
-import org.springframework.context.annotation.Bean;
4
-import org.springframework.context.annotation.Configuration;
5
-import org.springframework.scheduling.quartz.SchedulerFactoryBean;
6
-
7
-import javax.sql.DataSource;
8
-import java.util.Properties;
9
-
10
-/**
11
- * 定时任务配置
12
- *
13
- * @author chenshun
14
- * @email sunlightcs@gmail.com
15
- * @date 2017-04-20 23:38
16
- */
17
-@Configuration
18
-public class ScheduleConfig {
19
-
20
-    @Bean
21
-    public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) {
22
-        SchedulerFactoryBean factory = new SchedulerFactoryBean();
23
-//        factory.setDataSource(dataSource);
24
-//
25
-//        //quartz参数
26
-//        Properties prop = new Properties();
27
-//        prop.put("org.quartz.scheduler.instanceName", "RenrenScheduler");
28
-//        prop.put("org.quartz.scheduler.instanceId", "AUTO");
29
-//        //线程池配置
30
-//        prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
31
-//        prop.put("org.quartz.threadPool.threadCount", "20");
32
-//        prop.put("org.quartz.threadPool.threadPriority", "5");
33
-//        //JobStore配置
34
-//        prop.put("org.quartz.jobStore.class", "org.quartz.impl.jdbcjobstore.JobStoreTX");
35
-//        //集群配置
36
-//        prop.put("org.quartz.jobStore.isClustered", "true");
37
-//        prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000");
38
-//        prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1");
39
-//
40
-//        prop.put("org.quartz.jobStore.misfireThreshold", "12000");
41
-//        prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
42
-//        factory.setQuartzProperties(prop);
43
-//
44
-//        factory.setSchedulerName("RenrenScheduler");
45
-//        //延时启动
46
-//        factory.setStartupDelay(30);
47
-//        factory.setApplicationContextSchedulerContextKey("applicationContextKey");
48
-//        //可选,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
49
-//        factory.setOverwriteExistingJobs(true);
50
-//        //设置自动启动,默认为true
51
-//        //factory.setAutoStartup(true);
52
-
53
-        return factory;
54
-    }
55
-}

+ 0 - 223
src/main/java/com/chinaitop/depot/utils/quartz/service/DepotScheduler.java

@@ -1,223 +0,0 @@
1
-/*package com.chinaitop.utils.quartz.service;
2
-
3
-import com.chinaitop.depot.monitor.service.quartzJob.QualityJob;
4
-import com.chinaitop.depot.storage.service.impl.StorageThreetempcheckServiceImpl;
5
-import com.chinaitop.utils.ParameterUtil;
6
-import org.quartz.*;
7
-import org.springframework.beans.factory.annotation.Autowired;
8
-import org.springframework.scheduling.quartz.SchedulerFactoryBean;
9
-import org.springframework.stereotype.Component;
10
-
11
-import java.util.Map;
12
-
13
-*//**
14
- * @auther mafy
15
- * @createtime 2017/10/21 0021
16
- *//*
17
-@Component
18
-public class DepotScheduler {
19
-
20
-    @Autowired
21
-    SchedulerFactoryBean schedulerFactoryBean;
22
-
23
-    @Autowired
24
-    private StorageThreetempcheckServiceImpl threetempCheckService;
25
-
26
-    //定时器id
27
-    public static final String QUARTZID = "QUARTZID";//统一的key
28
-
29
-
30
-    //项目启动执行该方法,只执行一遍
31
-    public void scheduleJobs() throws SchedulerException {
32
-        Scheduler scheduler = schedulerFactoryBean.getScheduler();
33
-        // new QualityJob().qualityScheduler(scheduler);//查询视频行为分析开启计划
34
-        threetempCheckService.storehouseGetTempJob(scheduler);
35
-    }
36
-
37
-    *//**
38
-     * 制造定时任务,传入需要的参数
39
-     * startJob("0/5 * * * * ? ","gropu1","job1","com.example.demo.job.MyJob1")
40
-     *//*
41
-    public void addJob(String time, String groupName, String jobName, Class jobClassName, Map<String,Object> paramMap){
42
-        Scheduler scheduler = schedulerFactoryBean.getScheduler();
43
-        try {
44
-            Class jobClass = jobClassName;
45
-            // 创建jobDetail实例,绑定Job实现类
46
-            // 指明job的名称,所在组的名称,以及绑定job类
47
-            JobDetail jobDetail = JobBuilder.newJob(jobClass) .withIdentity(jobName, groupName).build();//设置Job的名字和组
48
-            if(ParameterUtil.isequal(NeedQuartz.getName(NeedQuartz.QUALITY).toString(),paramMap.get(QUARTZID).toString())){//判断当前执行的计划为视频诊断的计划,参数保存
49
-                jobDetail.getJobDataMap().put(QUARTZID,jobName);//动态添加数据,jobName定时器id,保存在计划表中
50
-                jobDetail.getJobDataMap().put("groupids",paramMap.get("groupids"));//动态添加数据,jobName定时器id,保存在计划表中
51
-            }
52
-            //  corn表达式  0/5 * * * * ?
53
-            CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(time);
54
-            //设置定时任务的时间触发规则
55
-            CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(jobName,groupName) .withSchedule(scheduleBuilder).build();
56
-            // 把作业和触发器注册到任务调度中
57
-            scheduler.scheduleJob(jobDetail,cronTrigger);
58
-        } catch (Exception e) {
59
-            e.printStackTrace();
60
-        }
61
-    }
62
-
63
-
64
-
65
-    *//***
66
-     * 修改定时任务时间
67
-     * @param triggerName
68
-     * @param triggerGroupName
69
-     * @param time
70
-     *//*
71
-    public  void  modifyJobTime(String triggerName,String triggerGroupName, String time) {
72
-        try {
73
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
74
-            TriggerKey triggerKey = new TriggerKey(triggerName, triggerGroupName);
75
-            CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
76
-            if (trigger == null) {
77
-                return;
78
-            }
79
-            System.out.println(scheduler.getTriggerState(triggerKey));
80
-            String oldTime = trigger.getCronExpression();
81
-            if (!oldTime.equalsIgnoreCase(time)) {  // Trigger已存在,那么更新相应的定时设置
82
-                CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(time);//设置一个新的定时时间
83
-                // 按新的cronExpression表达式重新构建trigger
84
-                CronTrigger cronTrigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
85
-                // 按新的trigger重新设置job执行
86
-                scheduler.rescheduleJob(triggerKey, cronTrigger);
87
-            }
88
-        } catch (Exception e) {
89
-            throw new RuntimeException(e);
90
-        }
91
-    }
92
-
93
-    *//****
94
-     * 暂停一个任务
95
-     * @param triggerName
96
-     * @param triggerGroupName
97
-     *//*
98
-    public void pauseJob(String triggerName,String triggerGroupName){
99
-        try {
100
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
101
-            JobKey jobKey = new JobKey(triggerName, triggerGroupName);
102
-            JobDetail jobDetail = scheduler.getJobDetail(jobKey);
103
-            if (jobDetail==null){
104
-                return;
105
-            }
106
-            scheduler.pauseJob(jobKey);
107
-        } catch (SchedulerException e) {
108
-            e.printStackTrace();
109
-        }
110
-    }
111
-    *//****
112
-     * 删除一个任务
113
-     * @param triggerName
114
-     * @param triggerGroupName
115
-     *//*
116
-    public void deleteJob(String triggerName,String triggerGroupName){
117
-        try {
118
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
119
-            JobKey jobKey = new JobKey(triggerName, triggerGroupName);
120
-            JobDetail jobDetail = scheduler.getJobDetail(jobKey);
121
-            if (jobDetail==null){
122
-                return;
123
-            }
124
-            scheduler.deleteJob(jobKey);
125
-        } catch (SchedulerException e) {
126
-            e.printStackTrace();
127
-        }
128
-    }
129
-    *//****
130
-     * 恢复一个任务
131
-     * @param triggerName
132
-     * @param triggerGroupName
133
-     *//*
134
-    public void resumeJob(String triggerName,String triggerGroupName){
135
-        try {
136
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
137
-            JobKey jobKey = new JobKey(triggerName, triggerGroupName);
138
-            JobDetail jobDetail = scheduler.getJobDetail(jobKey);
139
-            if (jobDetail==null){
140
-                return;
141
-            }
142
-            scheduler.resumeJob(jobKey);
143
-        } catch (SchedulerException e) {
144
-            e.printStackTrace();
145
-        }
146
-    }
147
-    *//***
148
-     * 开始定时任务
149
-     *//*
150
-    public void startAllJob(){
151
-        try {
152
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
153
-            scheduler.start();
154
-        } catch (SchedulerException e) {
155
-            e.printStackTrace();
156
-        }
157
-    }
158
-    *//***
159
-     * 立即执行定时任务
160
-     *//*
161
-    public void doJob(String triggerName,String triggerGroupName){
162
-        try {
163
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
164
-            JobKey jobKey = JobKey.jobKey(triggerName, triggerGroupName);
165
-            scheduler.triggerJob(jobKey);
166
-        } catch (SchedulerException e) {
167
-            e.printStackTrace();
168
-        }
169
-    }
170
-    *//**
171
-     * 关闭所有任务
172
-     *//*
173
-    public void shutdown(){
174
-        try {
175
-            Scheduler scheduler = schedulerFactoryBean.getScheduler();
176
-            scheduler.shutdown();
177
-        } catch (SchedulerException e) {
178
-            e.printStackTrace();
179
-        }
180
-    }
181
-
182
-    *//**
183
-     *
184
-     * 格式: [秒] [分] [小时] [日] [月] [周] [年]
185
-     序号	说明	 是否必填	允许填写的值	允许的通配符
186
-     1	秒	是	0-59 	, - * /
187
-     2	分	是	0-59	, - * /
188
-     3	小时	是	0-23	, - * /
189
-     4	日	是	1-31	, - * ? / L W
190
-     5	月	是	1-12 or JAN-DEC	, - * /
191
-     6	周	是	1-7 or SUN-SAT	, - * ? / L #
192
-     7	年	否	empty 或 1970-2099	, - * /
193
-     *
194
-     *
195
-     *
196
-     0 0 12 * * ? 	每天12点触发
197
-     0 15 10 ? * * 	每天10点15分触发
198
-     0 15 10 * * ? 	每天10点15分触发
199
-     0 15 10 * * ? * 	每天10点15分触发
200
-     0 15 10 * * ? 2005 	2005年每天10点15分触发
201
-     0 * 14 * * ? 	每天下午的 2点到2点59分每分触发
202
-     0 0/5 14 * * ? 	每天下午的 2点到2点59分(整点开始,每隔5分触发)
203
-
204
-     0 0/5 14,18 * * ?
205
-
206
-     每天下午的 2点到2点59分(整点开始,每隔5分触发)
207
-     每天下午的 18点到18点59分(整点开始,每隔5分触发)
208
-
209
-     0 0-5 14 * * ? 	每天下午的 2点到2点05分每分触发
210
-     0 10,44 14 ? 3 WED 	3月分每周三下午的 2点10分和2点44分触发
211
-     0 15 10 ? * MON-FRI 	从周一到周五每天上午的10点15分触发
212
-     0 15 10 15 * ? 	每月15号上午10点15分触发
213
-     0 15 10 L * ? 	每月最后一天的10点15分触发
214
-     0 15 10 ? * 6L 	每月最后一周的星期五的10点15分触发
215
-     0 15 10 ? * 6L 2002-2005 	从2002年到2005年每月最后一周的星期五的10点15分触发
216
-     0 15 10 ? * 6#3 	每月的第三周的星期五开始触发
217
-     0 0 12 1/5 * ? 	每月的第一个中午开始每隔5天触发一次
218
-     0 11 11 11 11 ? 	每年的11月11号 11点11分触发(光棍节)
219
-     *
220
-     * *//*
221
-
222
-}
223
-*/

+ 0 - 28
src/main/java/com/chinaitop/depot/utils/quartz/service/NeedQuartz.java

@@ -1,28 +0,0 @@
1
-package com.chinaitop.depot.utils.quartz.service;
2
-
3
-/**
4
- * @auther mafy
5
- * @createtime 2017/10/21 0021
6
- * 需要进行检测的类,区分
7
- */
8
-public enum NeedQuartz {
9
-    QUALITY("QUALITY");
10
-
11
-    private String className;
12
-
13
-    public String getClassName() {
14
-        return className;
15
-    }
16
-
17
-    public void setClassName(String className) {
18
-        this.className = className;
19
-    }
20
-
21
-    NeedQuartz(String className){
22
-        this.className = className;
23
-    }
24
-
25
-    public static String getName(NeedQuartz needQuartz){
26
-        return needQuartz.getClassName();
27
-    }
28
-}

+ 0 - 35
src/main/java/com/chinaitop/depot/utils/quartz/service/SchedulerListener.java

@@ -1,35 +0,0 @@
1
-/*package com.chinaitop.utils.quartz.service;
2
-
3
-import org.quartz.SchedulerException;
4
-import org.springframework.beans.factory.annotation.Autowired;
5
-import org.springframework.context.ApplicationListener;
6
-import org.springframework.context.annotation.Bean;
7
-import org.springframework.context.annotation.Configuration;
8
-import org.springframework.context.event.ContextRefreshedEvent;
9
-import org.springframework.scheduling.quartz.SchedulerFactoryBean;
10
-
11
-*//**
12
- * @auther mafy
13
- * @createtime 2017/10/21 0021
14
- *//*
15
-@Configuration
16
-public class SchedulerListener implements ApplicationListener<ContextRefreshedEvent> {
17
-
18
-    @Autowired
19
-    public DepotScheduler myScheduler;
20
-
21
-    @Override
22
-    public void onApplicationEvent(ContextRefreshedEvent event) {
23
-        try {
24
-            myScheduler.scheduleJobs();
25
-        } catch (SchedulerException e) {
26
-            e.printStackTrace();
27
-        }
28
-    }
29
-    @Bean
30
-    public SchedulerFactoryBean schedulerFactoryBean(){
31
-        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
32
-        return schedulerFactoryBean;
33
-    }
34
-}
35
-*/