xuxueli 6 år sedan
förälder
incheckning
f4576a3705

+ 3 - 3
Dockerfile

@@ -1,7 +1,7 @@
-FROM tomcat
-MAINTAINER youji@ebay.com
+FROM tomcat:8.0-jre8-slim
+MAINTAINER xuxueli
 
-ADD xxl-job-admin/target/xxl-job-admin.*.war /usr/local/tomcat/webapps/scheduler.war
+ADD xxl-job-admin/target/xxl-job-admin.*.war /usr/local/tomcat/webapps/xxl-job-admin.war
 ADD xxl-job-core/target/xxl-job-core.*.jar /usr/local/tomcat/webapps/
 ADD xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample*..jar /usr/local/tomcat/webapps/
 ADD xxl-job-executor-samples/xxl-job-executor-sample-spring/target/xxl-job-executor-sample-spring.*.war /usr/local/tomcat/webapps/executor.war

+ 2 - 1
doc/XXL-JOB官方文档.md

@@ -1307,7 +1307,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 5、调度任务优先级;
 - 6、移除quartz依赖,重写调度模块:新增或恢复任务时将下次执行记录插入delayqueue,调度中心集群竞争分布式锁,成功节点批量加载到期delayqueue数据,批量执行。
 - 7、springboot 和 docker镜像,并且推送docker镜像到中央仓库,更进一步实现产品开箱即用;
-- 8、多数据库支持;
+- 8、多数据库支持,在重写并移除Quartz的基础上,DAO层通过JPA实现,不限制数据库类型
 - 9、执行器Log清理功能:调度中心Log删除时同步删除执行器中的Log文件;
 - 10、Bean模式任务,JobHandler自动从执行器中查询展示为下拉框,选择后自动填充任务名称等属性;
 - 11、API事件触发类型任务(更类似MQ消息)支持"动态传参、延时消费";该类型任务不走Quartz,单独建立MQ消息表,调度中心竞争触发;待定,该功能与 XXL-MQ 冲突,该场景建议用后者;
@@ -1325,6 +1325,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 23、流程任务等,透传动态参数;
 - 24、任务状态与quartz解耦,降低quartz调度压力,仅NORMAL状态任务绑定quartz;
 - 25、任务支持切换执行器;
+- 26、任务自动注册;待考虑,因为任务自动注册将会导致任务难以管理控制;
 
 ## 七、其他
 

+ 2 - 2
pom.xml

@@ -70,7 +70,7 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-war-plugin</artifactId>
-				<version>2.2</version>
+				<version>2.5</version>
 				<configuration>
 					<archiveClasses>false</archiveClasses>
 				</configuration>
@@ -133,7 +133,7 @@
 					<plugin>
 						<groupId>org.apache.maven.plugins</groupId>
 						<artifactId>maven-javadoc-plugin</artifactId>
-						<version>2.9.1</version>
+						<version>2.10.3</version>
 						<executions>
 							<execution>
 								<phase>package</phase>

+ 2 - 2
xxl-job-admin/Dockerfile

@@ -1,4 +1,4 @@
-FROM tomcat:latest
+FROM tomcat:8.0-jre8-slim
 MAINTAINER xuxueli
 
-ADD target/xxl-job-admin-*.war /usr/local/tomcat/webapps/xxl-job-admin.war
+ADD target/xxl-job-admin*.war /usr/local/tomcat/webapps/xxl-job-admin.war

+ 1 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java

@@ -31,7 +31,7 @@ public class ExecutorRouteLFU extends ExecutorRouter {
         HashMap<String, Integer> lfuItemMap = jobLfuMap.get(jobId);     // Key排序可以用TreeMap+构造入参Compare;Value排序暂时只能通过ArrayList;
         if (lfuItemMap == null) {
             lfuItemMap = new HashMap<String, Integer>();
-            jobLfuMap.put(jobId, lfuItemMap);
+            jobLfuMap.putIfAbsent(jobId, lfuItemMap);   // 避免重复覆盖
         }
         for (String address: addressList) {
             if (!lfuItemMap.containsKey(address) || lfuItemMap.get(address) >1000000 ) {

+ 1 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java

@@ -37,7 +37,7 @@ public class ExecutorRouteLRU extends ExecutorRouter {
              *      b、removeEldestEntry:新增元素时将会调用,返回true时会删除最老元素;可封装LinkedHashMap并重写该方法,比如定义最大容量,超出是返回true即可实现固定长度的LRU算法;
              */
             lruItem = new LinkedHashMap<>(16, 0.75f, true);
-            jobLRUMap.put(jobId, lruItem);
+            jobLRUMap.putIfAbsent(jobId, lruItem);
         }
 
         // put

+ 1 - 1
xxl-job-admin/src/main/resources/i18n/message_en.properties

@@ -185,7 +185,7 @@ jobgroup_field_addressType_limit=Manually registration type, the machine address
 jobgroup_field_registryList=machine address
 jobgroup_field_registryList_unvalid=registry machine address is illegal
 jobgroup_field_registryList_placeholder=Please enter the machine address, if there are more than one comma separated
-jobgroup_field_appName_limit=Limit the beginning of a lowercase letter, consists of lowercase letters、number and underscores.
+jobgroup_field_appName_limit=Limit the beginning of a lowercase letter, consists of lowercase letters、number and hyphen.
 jobgroup_field_appName_length=AppName length is limited to 4~64
 jobgroup_field_title_length=Title length is limited to 4~12
 jobgroup_field_order_digits=Please enter a positive integer