diff --git a/pom.xml b/pom.xml
index 342b07db..8a27b33f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,7 +54,7 @@
2.1.1
- 2.3.0
+ 2.3.1
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java b/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
index c0cc5686..75a441ca 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
@@ -153,12 +153,12 @@ public class XxlJobExecutor {
// generate address
if (StringTool.isBlank(address)) {
// registry-address:default use address to registry , otherwise use ip:port if address is null
- String ip_port_address = IPTool.toAddressString(IPTool.toAddress(ip, port));
+ String ip_port_address = IPTool.toAddressString(ip, port);
address = "http://{ip_port}/".replace("{ip_port}", ip_port_address);
}
// accessToken
- if (accessToken==null || accessToken.trim().length()==0) {
+ if (StringTool.isBlank(accessToken)) {
logger.warn(">>>>>>>>>>> xxl-job accessToken is empty. To ensure system security, please set the accessToken.");
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java b/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java
index 51fa41f5..12b7582d 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java
@@ -2,10 +2,11 @@ package com.xxl.job.core.util;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.tool.core.ArrayTool;
-import com.xxl.tool.core.AssertTool;
import com.xxl.tool.io.FileTool;
+import com.xxl.tool.io.IOTool;
-import java.io.*;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -83,15 +84,15 @@ public class ScriptUtil {
final FileOutputStream finalFileOutputStream = fileOutputStream;
inputThread = new Thread(() -> {
try {
- copy(finalProcess.getInputStream(), finalFileOutputStream, true, false);
+ // 数据流Copy(Input自动关闭,Output不处理)
+ IOTool.copy(finalProcess.getInputStream(), finalFileOutputStream, true, false);
} catch (IOException e) {
XxlJobHelper.log(e);
}
});
errorThread = new Thread(() -> {
try {
- // 数据流Copy(Input自动关闭,Output不处理)
- copy(finalProcess.getErrorStream(), finalFileOutputStream, true, false);
+ IOTool.copy(finalProcess.getErrorStream(), finalFileOutputStream, true, false);
} catch (IOException e) {
XxlJobHelper.log(e);
}
@@ -134,42 +135,6 @@ public class ScriptUtil {
}
}
-
- private static final int BUFFER_SIZE = 1024 * 8;
- private static int copy(InputStream input, OutputStream output, boolean closeInput, boolean closeOutput) throws IOException {
- AssertTool.notNull(input, "No InputStream specified");
- AssertTool.notNull(output, "No OutputStream specified");
-
- try {
- int byteCount = 0;
- byte[] buffer = new byte[BUFFER_SIZE];
- int bytesRead;
- while ((bytesRead = input.read(buffer)) != -1) {
- output.write(buffer, 0, bytesRead);
- byteCount += bytesRead;
- }
- output.flush();
- return byteCount;
- } finally {
- if (closeInput) {
- close(input);
- }
- if (closeOutput) {
- close(output);
- }
- }
- }
- private static void close(Closeable closeable) {
- if (closeable == null) {
- return;
- }
- try {
- closeable.close();
- } catch (IOException ex) {
- // ignore
- }
- }
-
/**
* 脚本执行,日志文件实时输出
*