Selaa lähdekoodia

调度中心移除SQL中的 "now()" 函数;集群部署时不再依赖DB时钟,仅需要保证调度中心应用节点时钟一致即可;

xuxueli 5 vuotta sitten
vanhempi
commit
71cf3f611f

+ 5 - 5
doc/XXL-JOB官方文档.md Näytä tiedosto

475
 
475
 
476
 调度中心集群部署时,几点要求和建议:
476
 调度中心集群部署时,几点要求和建议:
477
 - DB配置保持一致;
477
 - DB配置保持一致;
478
-- 登陆账号配置保持一致;
479
 - 集群机器时钟保持一致(单机集群忽视);
478
 - 集群机器时钟保持一致(单机集群忽视);
480
 - 建议:推荐通过nginx为调度中心集群做负载均衡,分配域名。调度中心访问、执行器回调配置、调用API服务等操作均通过该域名进行。
479
 - 建议:推荐通过nginx为调度中心集群做负载均衡,分配域名。调度中心访问、执行器回调配置、调用API服务等操作均通过该域名进行。
481
 
480
 
1588
 - 16、任务告警组件分页参数无效问题修复;
1587
 - 16、任务告警组件分页参数无效问题修复;
1589
 - 17、DB脚本默认编码改为utf8mb4,修复字符乱码问题(建议Mysql版本5.7+);
1588
 - 17、DB脚本默认编码改为utf8mb4,修复字符乱码问题(建议Mysql版本5.7+);
1590
 - 18、调度中心任务平均分配,触发组件每次获取与线程池数量相关数量的任务,避免大量任务集中在单个调度中心集群节点;
1589
 - 18、调度中心任务平均分配,触发组件每次获取与线程池数量相关数量的任务,避免大量任务集中在单个调度中心集群节点;
1591
-- 19、[ING]xxl-rpc服务端线程优化,降低线程内存开销;
1592
-- 20、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
1593
-- 21、[ING]调度中心日志删除,改为分页获取ID,根据ID删除的方式;
1594
-- 22、[ING]任务回调改为restful方式;
1590
+- 19、调度中心移除SQL中的 "now()" 函数;集群部署时不再依赖DB时钟,仅需要保证调度中心应用节点时钟一致即可;
1591
+- 20、[ING]xxl-rpc服务端线程优化,降低线程内存开销;
1592
+- 21、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
1593
+- 22、[ING]调度中心日志删除,改为分页获取ID,根据ID删除的方式;
1594
+- 23、[ING]任务回调改为restful方式;
1595
 
1595
 
1596
 
1596
 
1597
 ### TODO LIST
1597
 ### TODO LIST

+ 3 - 3
doc/db/tables_xxl_job.sql Näytä tiedosto

59
   `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型',
59
   `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型',
60
   `glue_source` mediumtext COMMENT 'GLUE源代码',
60
   `glue_source` mediumtext COMMENT 'GLUE源代码',
61
   `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注',
61
   `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注',
62
-  `add_time` timestamp NULL DEFAULT NULL,
63
-  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
62
+  `add_time` datetime DEFAULT NULL,
63
+  `update_time` datetime DEFAULT NULL,
64
   PRIMARY KEY (`id`)
64
   PRIMARY KEY (`id`)
65
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
65
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
66
 
66
 
69
   `registry_group` varchar(50) NOT NULL,
69
   `registry_group` varchar(50) NOT NULL,
70
   `registry_key` varchar(255) NOT NULL,
70
   `registry_key` varchar(255) NOT NULL,
71
   `registry_value` varchar(255) NOT NULL,
71
   `registry_value` varchar(255) NOT NULL,
72
-  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
72
+  `update_time` datetime DEFAULT NULL,
73
   PRIMARY KEY (`id`),
73
   PRIMARY KEY (`id`),
74
   KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`)
74
   KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`)
75
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
75
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

+ 5 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java Näytä tiedosto

72
 		exists_jobInfo.setGlueSource(glueSource);
72
 		exists_jobInfo.setGlueSource(glueSource);
73
 		exists_jobInfo.setGlueRemark(glueRemark);
73
 		exists_jobInfo.setGlueRemark(glueRemark);
74
 		exists_jobInfo.setGlueUpdatetime(new Date());
74
 		exists_jobInfo.setGlueUpdatetime(new Date());
75
+
76
+		exists_jobInfo.setUpdateTime(new Date());
75
 		xxlJobInfoDao.update(exists_jobInfo);
77
 		xxlJobInfoDao.update(exists_jobInfo);
76
 
78
 
77
 		// log old code
79
 		// log old code
80
 		xxlJobLogGlue.setGlueType(exists_jobInfo.getGlueType());
82
 		xxlJobLogGlue.setGlueType(exists_jobInfo.getGlueType());
81
 		xxlJobLogGlue.setGlueSource(glueSource);
83
 		xxlJobLogGlue.setGlueSource(glueSource);
82
 		xxlJobLogGlue.setGlueRemark(glueRemark);
84
 		xxlJobLogGlue.setGlueRemark(glueRemark);
85
+
86
+		xxlJobLogGlue.setAddTime(new Date());
87
+		xxlJobLogGlue.setUpdateTime(new Date());
83
 		xxlJobLogGlueDao.save(xxlJobLogGlue);
88
 		xxlJobLogGlueDao.save(xxlJobLogGlue);
84
 
89
 
85
 		// remove code backup more than 30
90
 		// remove code backup more than 30

+ 2 - 5
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java Näytä tiedosto

14
 import org.springframework.web.bind.annotation.ResponseBody;
14
 import org.springframework.web.bind.annotation.ResponseBody;
15
 
15
 
16
 import javax.annotation.Resource;
16
 import javax.annotation.Resource;
17
-import java.util.ArrayList;
18
-import java.util.Collections;
19
-import java.util.HashMap;
20
-import java.util.List;
17
+import java.util.*;
21
 
18
 
22
 /**
19
 /**
23
  * job group controller
20
  * job group controller
119
 
116
 
120
 	private List<String> findRegistryByAppName(String appNameParam){
117
 	private List<String> findRegistryByAppName(String appNameParam){
121
 		HashMap<String, List<String>> appAddressMap = new HashMap<String, List<String>>();
118
 		HashMap<String, List<String>> appAddressMap = new HashMap<String, List<String>>();
122
-		List<XxlJobRegistry> list = xxlJobRegistryDao.findAll(RegistryConfig.DEAD_TIMEOUT);
119
+		List<XxlJobRegistry> list = xxlJobRegistryDao.findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
123
 		if (list != null) {
120
 		if (list != null) {
124
 			for (XxlJobRegistry item: list) {
121
 			for (XxlJobRegistry item: list) {
125
 				if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
122
 				if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {

+ 8 - 6
xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobLogGlue.java Näytä tiedosto

1
 package com.xxl.job.admin.core.model;
1
 package com.xxl.job.admin.core.model;
2
 
2
 
3
+import java.util.Date;
4
+
3
 /**
5
 /**
4
  * xxl-job log for glue, used to track job code process
6
  * xxl-job log for glue, used to track job code process
5
  * @author xuxueli 2016-5-19 17:57:46
7
  * @author xuxueli 2016-5-19 17:57:46
11
 	private String glueType;		// GLUE类型	#com.xxl.job.core.glue.GlueTypeEnum
13
 	private String glueType;		// GLUE类型	#com.xxl.job.core.glue.GlueTypeEnum
12
 	private String glueSource;
14
 	private String glueSource;
13
 	private String glueRemark;
15
 	private String glueRemark;
14
-	private String addTime;
15
-	private String updateTime;
16
+	private Date addTime;
17
+	private Date updateTime;
16
 
18
 
17
 	public int getId() {
19
 	public int getId() {
18
 		return id;
20
 		return id;
54
 		this.glueRemark = glueRemark;
56
 		this.glueRemark = glueRemark;
55
 	}
57
 	}
56
 
58
 
57
-	public String getAddTime() {
59
+	public Date getAddTime() {
58
 		return addTime;
60
 		return addTime;
59
 	}
61
 	}
60
 
62
 
61
-	public void setAddTime(String addTime) {
63
+	public void setAddTime(Date addTime) {
62
 		this.addTime = addTime;
64
 		this.addTime = addTime;
63
 	}
65
 	}
64
 
66
 
65
-	public String getUpdateTime() {
67
+	public Date getUpdateTime() {
66
 		return updateTime;
68
 		return updateTime;
67
 	}
69
 	}
68
 
70
 
69
-	public void setUpdateTime(String updateTime) {
71
+	public void setUpdateTime(Date updateTime) {
70
 		this.updateTime = updateTime;
72
 		this.updateTime = updateTime;
71
 	}
73
 	}
72
 
74
 

+ 3 - 6
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java Näytä tiedosto

7
 import org.slf4j.Logger;
7
 import org.slf4j.Logger;
8
 import org.slf4j.LoggerFactory;
8
 import org.slf4j.LoggerFactory;
9
 
9
 
10
-import java.util.ArrayList;
11
-import java.util.Collections;
12
-import java.util.HashMap;
13
-import java.util.List;
10
+import java.util.*;
14
 import java.util.concurrent.TimeUnit;
11
 import java.util.concurrent.TimeUnit;
15
 
12
 
16
 /**
13
 /**
38
 						if (groupList!=null && !groupList.isEmpty()) {
35
 						if (groupList!=null && !groupList.isEmpty()) {
39
 
36
 
40
 							// remove dead address (admin/executor)
37
 							// remove dead address (admin/executor)
41
-							List<Integer> ids = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findDead(RegistryConfig.DEAD_TIMEOUT);
38
+							List<Integer> ids = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findDead(RegistryConfig.DEAD_TIMEOUT, new Date());
42
 							if (ids!=null && ids.size()>0) {
39
 							if (ids!=null && ids.size()>0) {
43
 								XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().removeDead(ids);
40
 								XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().removeDead(ids);
44
 							}
41
 							}
45
 
42
 
46
 							// fresh online address (admin/executor)
43
 							// fresh online address (admin/executor)
47
 							HashMap<String, List<String>> appAddressMap = new HashMap<String, List<String>>();
44
 							HashMap<String, List<String>> appAddressMap = new HashMap<String, List<String>>();
48
-							List<XxlJobRegistry> list = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findAll(RegistryConfig.DEAD_TIMEOUT);
45
+							List<XxlJobRegistry> list = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
49
 							if (list != null) {
46
 							if (list != null) {
50
 								for (XxlJobRegistry item: list) {
47
 								for (XxlJobRegistry item: list) {
51
 									if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
48
 									if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {

+ 9 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java Näytä tiedosto

4
 import org.apache.ibatis.annotations.Mapper;
4
 import org.apache.ibatis.annotations.Mapper;
5
 import org.apache.ibatis.annotations.Param;
5
 import org.apache.ibatis.annotations.Param;
6
 
6
 
7
+import java.util.Date;
7
 import java.util.List;
8
 import java.util.List;
8
 
9
 
9
 /**
10
 /**
12
 @Mapper
13
 @Mapper
13
 public interface XxlJobRegistryDao {
14
 public interface XxlJobRegistryDao {
14
 
15
 
15
-    public List<Integer> findDead(@Param("timeout") int timeout);
16
+    public List<Integer> findDead(@Param("timeout") int timeout,
17
+                                  @Param("nowTime") Date nowTime);
16
 
18
 
17
     public int removeDead(@Param("ids") List<Integer> ids);
19
     public int removeDead(@Param("ids") List<Integer> ids);
18
 
20
 
19
-    public List<XxlJobRegistry> findAll(@Param("timeout") int timeout);
21
+    public List<XxlJobRegistry> findAll(@Param("timeout") int timeout,
22
+                                        @Param("nowTime") Date nowTime);
20
 
23
 
21
     public int registryUpdate(@Param("registryGroup") String registryGroup,
24
     public int registryUpdate(@Param("registryGroup") String registryGroup,
22
                               @Param("registryKey") String registryKey,
25
                               @Param("registryKey") String registryKey,
23
-                              @Param("registryValue") String registryValue);
26
+                              @Param("registryValue") String registryValue,
27
+                              @Param("updateTime") Date updateTime);
24
 
28
 
25
     public int registrySave(@Param("registryGroup") String registryGroup,
29
     public int registrySave(@Param("registryGroup") String registryGroup,
26
                             @Param("registryKey") String registryKey,
30
                             @Param("registryKey") String registryKey,
27
-                            @Param("registryValue") String registryValue);
31
+                            @Param("registryValue") String registryValue,
32
+                            @Param("updateTime") Date updateTime);
28
 
33
 
29
     public int registryDelete(@Param("registryGroup") String registGroup,
34
     public int registryDelete(@Param("registryGroup") String registGroup,
30
                           @Param("registryKey") String registryKey,
35
                           @Param("registryKey") String registryKey,

+ 2 - 2
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java Näytä tiedosto

126
 
126
 
127
     @Override
127
     @Override
128
     public ReturnT<String> registry(RegistryParam registryParam) {
128
     public ReturnT<String> registry(RegistryParam registryParam) {
129
-        int ret = xxlJobRegistryDao.registryUpdate(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
129
+        int ret = xxlJobRegistryDao.registryUpdate(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue(), new Date());
130
         if (ret < 1) {
130
         if (ret < 1) {
131
-            xxlJobRegistryDao.registrySave(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
131
+            xxlJobRegistryDao.registrySave(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue(), new Date());
132
 
132
 
133
             // fresh
133
             // fresh
134
             freshGroupRegistryInfo(registryParam);
134
             freshGroupRegistryInfo(registryParam);

+ 7 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java Näytä tiedosto

117
 		}
117
 		}
118
 
118
 
119
 		// add in db
119
 		// add in db
120
+		jobInfo.setAddTime(new Date());
121
+		jobInfo.setUpdateTime(new Date());
122
+		jobInfo.setGlueUpdatetime(new Date());
120
 		xxlJobInfoDao.save(jobInfo);
123
 		xxlJobInfoDao.save(jobInfo);
121
 		if (jobInfo.getId() < 1) {
124
 		if (jobInfo.getId() < 1) {
122
 			return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add")+I18nUtil.getString("system_fail")) );
125
 			return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add")+I18nUtil.getString("system_fail")) );
220
 		exists_jobInfo.setExecutorFailRetryCount(jobInfo.getExecutorFailRetryCount());
223
 		exists_jobInfo.setExecutorFailRetryCount(jobInfo.getExecutorFailRetryCount());
221
 		exists_jobInfo.setChildJobId(jobInfo.getChildJobId());
224
 		exists_jobInfo.setChildJobId(jobInfo.getChildJobId());
222
 		exists_jobInfo.setTriggerNextTime(nextTriggerTime);
225
 		exists_jobInfo.setTriggerNextTime(nextTriggerTime);
226
+
227
+		exists_jobInfo.setUpdateTime(new Date());
223
         xxlJobInfoDao.update(exists_jobInfo);
228
         xxlJobInfoDao.update(exists_jobInfo);
224
 
229
 
225
 
230
 
260
 		xxlJobInfo.setTriggerLastTime(0);
265
 		xxlJobInfo.setTriggerLastTime(0);
261
 		xxlJobInfo.setTriggerNextTime(nextTriggerTime);
266
 		xxlJobInfo.setTriggerNextTime(nextTriggerTime);
262
 
267
 
268
+		xxlJobInfo.setUpdateTime(new Date());
263
 		xxlJobInfoDao.update(xxlJobInfo);
269
 		xxlJobInfoDao.update(xxlJobInfo);
264
 		return ReturnT.SUCCESS;
270
 		return ReturnT.SUCCESS;
265
 	}
271
 	}
272
 		xxlJobInfo.setTriggerLastTime(0);
278
 		xxlJobInfo.setTriggerLastTime(0);
273
 		xxlJobInfo.setTriggerNextTime(0);
279
 		xxlJobInfo.setTriggerNextTime(0);
274
 
280
 
281
+		xxlJobInfo.setUpdateTime(new Date());
275
 		xxlJobInfoDao.update(xxlJobInfo);
282
 		xxlJobInfoDao.update(xxlJobInfo);
276
 		return ReturnT.SUCCESS;
283
 		return ReturnT.SUCCESS;
277
 	}
284
 	}

+ 4 - 4
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml Näytä tiedosto

133
 			#{jobGroup},
133
 			#{jobGroup},
134
 			#{jobCron},
134
 			#{jobCron},
135
 			#{jobDesc},
135
 			#{jobDesc},
136
-			NOW(),
137
-			NOW(),
136
+			#{addTime},
137
+			#{updateTime},
138
 			#{author},
138
 			#{author},
139
 			#{alarmEmail},
139
 			#{alarmEmail},
140
 			#{executorRouteStrategy},
140
 			#{executorRouteStrategy},
146
 			#{glueType},
146
 			#{glueType},
147
 			#{glueSource},
147
 			#{glueSource},
148
 			#{glueRemark},
148
 			#{glueRemark},
149
-			NOW(),
149
+			#{glueUpdatetime},
150
 			#{childJobId},
150
 			#{childJobId},
151
 			#{triggerStatus},
151
 			#{triggerStatus},
152
 			#{triggerLastTime},
152
 			#{triggerLastTime},
170
 			job_group = #{jobGroup},
170
 			job_group = #{jobGroup},
171
 			job_cron = #{jobCron},
171
 			job_cron = #{jobCron},
172
 			job_desc = #{jobDesc},
172
 			job_desc = #{jobDesc},
173
-			update_time = NOW(),
173
+			update_time = #{updateTime},
174
 			author = #{author},
174
 			author = #{author},
175
 			alarm_email = #{alarmEmail},
175
 			alarm_email = #{alarmEmail},
176
 			executor_route_strategy = #{executorRouteStrategy},
176
 			executor_route_strategy = #{executorRouteStrategy},

+ 2 - 2
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogGlueMapper.xml Näytä tiedosto

36
 			#{glueType},
36
 			#{glueType},
37
 			#{glueSource},
37
 			#{glueSource},
38
 			#{glueRemark},
38
 			#{glueRemark},
39
-			now(),
40
-			now()
39
+			#{addTime},
40
+			#{updateTime}
41
 		);
41
 		);
42
 		<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
42
 		<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
43
 			SELECT LAST_INSERT_ID() 
43
 			SELECT LAST_INSERT_ID() 

+ 4 - 4
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobRegistryMapper.xml Näytä tiedosto

22
 	<select id="findDead" parameterType="java.lang.Integer" resultType="java.lang.Integer" >
22
 	<select id="findDead" parameterType="java.lang.Integer" resultType="java.lang.Integer" >
23
 		SELECT t.id
23
 		SELECT t.id
24
 		FROM xxl_job_registry AS t
24
 		FROM xxl_job_registry AS t
25
-		WHERE t.update_time <![CDATA[ < ]]> DATE_ADD(NOW(),INTERVAL -#{timeout} SECOND)
25
+		WHERE t.update_time <![CDATA[ < ]]> DATE_ADD(#{nowTime},INTERVAL -#{timeout} SECOND)
26
 	</select>
26
 	</select>
27
 	
27
 	
28
 	<delete id="removeDead" parameterType="java.lang.Integer" >
28
 	<delete id="removeDead" parameterType="java.lang.Integer" >
36
 	<select id="findAll" parameterType="java.lang.Integer" resultMap="XxlJobRegistry">
36
 	<select id="findAll" parameterType="java.lang.Integer" resultMap="XxlJobRegistry">
37
 		SELECT <include refid="Base_Column_List" />
37
 		SELECT <include refid="Base_Column_List" />
38
 		FROM xxl_job_registry AS t
38
 		FROM xxl_job_registry AS t
39
-		WHERE t.update_time <![CDATA[ > ]]> DATE_ADD(NOW(),INTERVAL -#{timeout} SECOND)
39
+		WHERE t.update_time <![CDATA[ > ]]> DATE_ADD(#{nowTime},INTERVAL -#{timeout} SECOND)
40
 	</select>
40
 	</select>
41
 
41
 
42
     <update id="registryUpdate" >
42
     <update id="registryUpdate" >
43
         UPDATE xxl_job_registry
43
         UPDATE xxl_job_registry
44
-        SET `update_time` = NOW()
44
+        SET `update_time` = #{updateTime}
45
         WHERE `registry_group` = #{registryGroup}
45
         WHERE `registry_group` = #{registryGroup}
46
           AND `registry_key` = #{registryKey}
46
           AND `registry_key` = #{registryKey}
47
           AND `registry_value` = #{registryValue}
47
           AND `registry_value` = #{registryValue}
49
 
49
 
50
     <insert id="registrySave" >
50
     <insert id="registrySave" >
51
         INSERT INTO xxl_job_registry( `registry_group` , `registry_key` , `registry_value`, `update_time`)
51
         INSERT INTO xxl_job_registry( `registry_group` , `registry_key` , `registry_value`, `update_time`)
52
-        VALUES( #{registryGroup}  , #{registryKey} , #{registryValue}, NOW())
52
+        VALUES( #{registryGroup}  , #{registryKey} , #{registryValue}, #{updateTime})
53
     </insert>
53
     </insert>
54
 
54
 
55
 	<delete id="registryDelete" >
55
 	<delete id="registryDelete" >

+ 5 - 2
xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java Näytä tiedosto

4
 import org.junit.Test;
4
 import org.junit.Test;
5
 import org.junit.runner.RunWith;
5
 import org.junit.runner.RunWith;
6
 import org.springframework.boot.test.context.SpringBootTest;
6
 import org.springframework.boot.test.context.SpringBootTest;
7
-import org.springframework.test.context.ContextConfiguration;
8
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
9
 import org.springframework.test.context.junit4.SpringRunner;
7
 import org.springframework.test.context.junit4.SpringRunner;
10
 
8
 
11
 import javax.annotation.Resource;
9
 import javax.annotation.Resource;
47
 		info.setGlueRemark("setGlueRemark");
45
 		info.setGlueRemark("setGlueRemark");
48
 		info.setChildJobId("1");
46
 		info.setChildJobId("1");
49
 
47
 
48
+		info.setAddTime(new Date());
49
+		info.setUpdateTime(new Date());
50
+		info.setGlueUpdatetime(new Date());
51
+
50
 		int count = xxlJobInfoDao.save(info);
52
 		int count = xxlJobInfoDao.save(info);
51
 
53
 
52
 		XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId());
54
 		XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId());
64
 		info2.setGlueUpdatetime(new Date());
66
 		info2.setGlueUpdatetime(new Date());
65
 		info2.setChildJobId("1");
67
 		info2.setChildJobId("1");
66
 
68
 
69
+		info2.setUpdateTime(new Date());
67
 		int item2 = xxlJobInfoDao.update(info2);
70
 		int item2 = xxlJobInfoDao.update(info2);
68
 
71
 
69
 		xxlJobInfoDao.delete(info2.getId());
72
 		xxlJobInfoDao.delete(info2.getId());

+ 4 - 3
xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java Näytä tiedosto

1
 package com.xxl.job.admin.dao;
1
 package com.xxl.job.admin.dao;
2
 
2
 
3
 import com.xxl.job.admin.core.model.XxlJobLogGlue;
3
 import com.xxl.job.admin.core.model.XxlJobLogGlue;
4
-import com.xxl.job.admin.dao.XxlJobLogGlueDao;
5
 import org.junit.Test;
4
 import org.junit.Test;
6
 import org.junit.runner.RunWith;
5
 import org.junit.runner.RunWith;
7
 import org.springframework.boot.test.context.SpringBootTest;
6
 import org.springframework.boot.test.context.SpringBootTest;
8
-import org.springframework.test.context.ContextConfiguration;
9
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
10
 import org.springframework.test.context.junit4.SpringRunner;
7
 import org.springframework.test.context.junit4.SpringRunner;
11
 
8
 
12
 import javax.annotation.Resource;
9
 import javax.annotation.Resource;
10
+import java.util.Date;
13
 import java.util.List;
11
 import java.util.List;
14
 
12
 
15
 @RunWith(SpringRunner.class)
13
 @RunWith(SpringRunner.class)
26
         logGlue.setGlueType("1");
24
         logGlue.setGlueType("1");
27
         logGlue.setGlueSource("1");
25
         logGlue.setGlueSource("1");
28
         logGlue.setGlueRemark("1");
26
         logGlue.setGlueRemark("1");
27
+
28
+        logGlue.setAddTime(new Date());
29
+        logGlue.setUpdateTime(new Date());
29
         int ret = xxlJobLogGlueDao.save(logGlue);
30
         int ret = xxlJobLogGlueDao.save(logGlue);
30
 
31
 
31
         List<XxlJobLogGlue> list = xxlJobLogGlueDao.findByJobId(1);
32
         List<XxlJobLogGlue> list = xxlJobLogGlueDao.findByJobId(1);

+ 4 - 3
xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java Näytä tiedosto

8
 
8
 
9
 import javax.annotation.Resource;
9
 import javax.annotation.Resource;
10
 import java.util.Arrays;
10
 import java.util.Arrays;
11
+import java.util.Date;
11
 import java.util.List;
12
 import java.util.List;
12
 
13
 
13
 @RunWith(SpringRunner.class)
14
 @RunWith(SpringRunner.class)
19
 
20
 
20
     @Test
21
     @Test
21
     public void test(){
22
     public void test(){
22
-        int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1");
23
+        int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1", new Date());
23
         if (ret < 1) {
24
         if (ret < 1) {
24
-            ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1");
25
+            ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1", new Date());
25
         }
26
         }
26
 
27
 
27
-        List<XxlJobRegistry> list = xxlJobRegistryDao.findAll(1);
28
+        List<XxlJobRegistry> list = xxlJobRegistryDao.findAll(1, new Date());
28
 
29
 
29
         int ret2 = xxlJobRegistryDao.removeDead(Arrays.asList(1));
30
         int ret2 = xxlJobRegistryDao.removeDead(Arrays.asList(1));
30
     }
31
     }