diff --git a/xxl-job-admin/src/main/resources/templates/login.ftl b/xxl-job-admin/src/main/resources/templates/login.ftl
index c3f69638..e6a29e01 100644
--- a/xxl-job-admin/src/main/resources/templates/login.ftl
+++ b/xxl-job-admin/src/main/resources/templates/login.ftl
@@ -15,11 +15,11 @@
${I18n.admin_name}
-
+
-
+
diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
index 49bf8aec..9c61fcb7 100644
--- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
+++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
@@ -1,6 +1,6 @@
package com.xxl.job.admin.controller;
-import com.xxl.job.admin.service.LoginService;
+import com.xxl.job.admin.service.impl.LoginService;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java
index 5c0a15d8..bd8fe9b9 100644
--- a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java
+++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java
@@ -8,6 +8,7 @@ import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import java.util.concurrent.TimeUnit;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class XxlJobRegistryDaoTest {
@@ -17,14 +18,32 @@ public class XxlJobRegistryDaoTest {
@Test
public void test(){
- int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1", new Date());
+ int ret = xxlJobRegistryDao.registrySaveOrUpdate("g1", "k1", "v1", new Date());
+ /*int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1", new Date());
if (ret < 1) {
ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1", new Date());
- }
+ }*/
List
list = xxlJobRegistryDao.findAll(1, new Date());
int ret2 = xxlJobRegistryDao.removeDead(Arrays.asList(1));
}
+ @Test
+ public void test2() throws InterruptedException {
+ for (int i = 0; i < 100; i++) {
+ new Thread(()->{
+ int ret = xxlJobRegistryDao.registrySaveOrUpdate("g1", "k1", "v1", new Date());
+ System.out.println(ret);
+
+ /*int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1", new Date());
+ if (ret < 1) {
+ ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1", new Date());
+ }*/
+ }).start();
+ }
+
+ TimeUnit.SECONDS.sleep(10);
+ }
+
}
diff --git a/xxl-job-core/pom.xml b/xxl-job-core/pom.xml
index a91472be..c4a44cfb 100644
--- a/xxl-job-core/pom.xml
+++ b/xxl-job-core/pom.xml
@@ -4,7 +4,7 @@
com.xuxueli
xxl-job
- 2.4.1-SNAPSHOT
+ 2.5.0-SNAPSHOT
xxl-job-core
jar
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/server/EmbedServer.java b/xxl-job-core/src/main/java/com/xxl/job/core/server/EmbedServer.java
index 540e0ea2..436f3afa 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/server/EmbedServer.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/server/EmbedServer.java
@@ -89,14 +89,14 @@ public class EmbedServer {
} catch (InterruptedException e) {
logger.info(">>>>>>>>>>> xxl-job remoting server stop.");
- } catch (Exception e) {
+ } catch (Throwable e) {
logger.error(">>>>>>>>>>> xxl-job remoting server error.", e);
} finally {
// stop
try {
workerGroup.shutdownGracefully();
bossGroup.shutdownGracefully();
- } catch (Exception e) {
+ } catch (Throwable e) {
logger.error(e.getMessage(), e);
}
}
@@ -200,7 +200,7 @@ public class EmbedServer {
default:
return new ReturnT(ReturnT.FAIL_CODE, "invalid request, uri-mapping(" + uri + ") not found.");
}
- } catch (Exception e) {
+ } catch (Throwable e) {
logger.error(e.getMessage(), e);
return new ReturnT(ReturnT.FAIL_CODE, "request error:" + ThrowableUtil.toString(e));
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java
index e43a2a49..36b32c95 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java
@@ -53,12 +53,12 @@ public class ExecutorRegistryThread {
} else {
logger.info(">>>>>>>>>>> xxl-job registry fail, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult});
}
- } catch (Exception e) {
+ } catch (Throwable e) {
logger.info(">>>>>>>>>>> xxl-job registry error, registryParam:{}", registryParam, e);
}
}
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -69,7 +69,7 @@ public class ExecutorRegistryThread {
if (!toStop) {
TimeUnit.SECONDS.sleep(RegistryConfig.BEAT_TIMEOUT);
}
- } catch (InterruptedException e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.warn(">>>>>>>>>>> xxl-job, executor registry thread interrupted, error msg:{}", e.getMessage());
}
@@ -89,7 +89,7 @@ public class ExecutorRegistryThread {
} else {
logger.info(">>>>>>>>>>> xxl-job registry-remove fail, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult});
}
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.info(">>>>>>>>>>> xxl-job registry-remove error, registryParam:{}", registryParam, e);
}
@@ -97,7 +97,7 @@ public class ExecutorRegistryThread {
}
}
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -119,7 +119,7 @@ public class ExecutorRegistryThread {
registryThread.interrupt();
try {
registryThread.join();
- } catch (InterruptedException e) {
+ } catch (Throwable e) {
logger.error(e.getMessage(), e);
}
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobLogFileCleanThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobLogFileCleanThread.java
index b5691542..b8dad765 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobLogFileCleanThread.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobLogFileCleanThread.java
@@ -81,7 +81,7 @@ public class JobLogFileCleanThread {
}
}
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -90,7 +90,7 @@ public class JobLogFileCleanThread {
try {
TimeUnit.DAYS.sleep(1);
- } catch (InterruptedException e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java
index cf07a55a..df33b8b0 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java
@@ -36,7 +36,7 @@ public class JobThread extends Thread{
private String stopReason;
private boolean running = false; // if running job
- private int idleTimes = 0; // idel times
+ private int idleTimes = 0; // idle times
public JobThread(int jobId, IJobHandler handler) {
@@ -185,7 +185,7 @@ public class JobThread extends Thread{
} else {
if (idleTimes > 30) {
if(triggerQueue.size() == 0) { // avoid concurrent trigger causes jobId-lost
- XxlJobExecutor.removeJobThread(jobId, "excutor idel times over limit.");
+ XxlJobExecutor.removeJobThread(jobId, "excutor idle times over limit.");
}
}
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java
index 40acac00..1d272466 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java
@@ -76,7 +76,7 @@ public class TriggerCallbackThread {
doCallback(callbackParamList);
}
}
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -90,7 +90,7 @@ public class TriggerCallbackThread {
if (callbackParamList!=null && callbackParamList.size()>0) {
doCallback(callbackParamList);
}
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -111,7 +111,7 @@ public class TriggerCallbackThread {
while(!toStop){
try {
retryFailCallbackFile();
- } catch (Exception e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -119,7 +119,7 @@ public class TriggerCallbackThread {
}
try {
TimeUnit.SECONDS.sleep(RegistryConfig.BEAT_TIMEOUT);
- } catch (InterruptedException e) {
+ } catch (Throwable e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
@@ -139,7 +139,7 @@ public class TriggerCallbackThread {
triggerCallbackThread.interrupt();
try {
triggerCallbackThread.join();
- } catch (InterruptedException e) {
+ } catch (Throwable e) {
logger.error(e.getMessage(), e);
}
}
@@ -149,7 +149,7 @@ public class TriggerCallbackThread {
triggerRetryCallbackThread.interrupt();
try {
triggerRetryCallbackThread.join();
- } catch (InterruptedException e) {
+ } catch (Throwable e) {
logger.error(e.getMessage(), e);
}
}
@@ -173,7 +173,7 @@ public class TriggerCallbackThread {
} else {
callbackLog(callbackParamList, " ----------- xxl-job job callback fail, callbackResult:" + callbackResult);
}
- } catch (Exception e) {
+ } catch (Throwable e) {
callbackLog(callbackParamList, " ----------- xxl-job job callback error, errorMsg:" + e.getMessage());
}
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/util/JdkSerializeTool.java b/xxl-job-core/src/main/java/com/xxl/job/core/util/JdkSerializeTool.java
index 434585ff..df74d815 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/util/JdkSerializeTool.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/util/JdkSerializeTool.java
@@ -51,16 +51,18 @@ public class JdkSerializeTool {
* @return
*/
public static Object deserialize(byte[] bytes, Class clazz) {
+ ObjectInputStream ois = null;
ByteArrayInputStream bais = null;
try {
// 反序列化
bais = new ByteArrayInputStream(bytes);
- ObjectInputStream ois = new ObjectInputStream(bais);
+ ois = new ObjectInputStream(bais);
return ois.readObject();
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
try {
+ ois.close();
bais.close();
} catch (IOException e) {
logger.error(e.getMessage(), e);
diff --git a/xxl-job-executor-samples/pom.xml b/xxl-job-executor-samples/pom.xml
index 4f98415e..b14370ce 100644
--- a/xxl-job-executor-samples/pom.xml
+++ b/xxl-job-executor-samples/pom.xml
@@ -1,11 +1,10 @@
-
4.0.0
com.xuxueli
xxl-job
- 2.4.1-SNAPSHOT
+ 2.5.0-SNAPSHOT
xxl-job-executor-samples
pom
@@ -15,4 +14,8 @@
xxl-job-executor-sample-springboot
+
+ true
+
+
\ No newline at end of file
diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml
index 500cdb48..fb65148f 100644
--- a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml
+++ b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml
@@ -6,7 +6,7 @@
com.xuxueli
xxl-job-executor-samples
- 2.4.1-SNAPSHOT
+ 2.5.0-SNAPSHOT
xxl-job-executor-sample-frameless
jar
@@ -21,7 +21,7 @@
org.slf4j
- slf4j-log4j12
+ slf4j-reload4j
${slf4j-api.version}
diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml
index c0570081..ffda075c 100644
--- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml
+++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml
@@ -6,7 +6,7 @@
com.xuxueli
xxl-job-executor-samples
- 2.4.1-SNAPSHOT
+ 2.5.0-SNAPSHOT
xxl-job-executor-sample-springboot
jar
@@ -66,6 +66,9 @@
+
+ true
+