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 - } - } - /** * 脚本执行,日志文件实时输出 *