From c3ef6e0d3a279ae62c15746be3424b18673c95ba Mon Sep 17 00:00:00 2001 From: Yi Date: Sun, 11 Feb 2018 18:53:32 +0800 Subject: [PATCH] Close log file after script executed --- .../com/xxl/job/core/util/ScriptUtil.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) 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 fea47d44..4f0f3631 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 @@ -59,22 +59,23 @@ public class ScriptUtil { // 标准输出:print (null if watchdog timeout) // 错误输出:logging + 异常 (still exists if watchdog timeout) // 标准输入 - FileOutputStream fileOutputStream = new FileOutputStream(logFile, true); - PumpStreamHandler streamHandler = new PumpStreamHandler(fileOutputStream, fileOutputStream, null); + try (FileOutputStream fileOutputStream = new FileOutputStream(logFile, true)) { + PumpStreamHandler streamHandler = new PumpStreamHandler(fileOutputStream, fileOutputStream, null); - // command - CommandLine commandline = new CommandLine(command); - commandline.addArgument(scriptFile); - if (params!=null && params.length>0) { - commandline.addArguments(params); + // command + CommandLine commandline = new CommandLine(command); + commandline.addArgument(scriptFile); + if (params!=null && params.length>0) { + commandline.addArguments(params); + } + + // exec + DefaultExecutor exec = new DefaultExecutor(); + exec.setExitValues(null); + exec.setStreamHandler(streamHandler); + int exitValue = exec.execute(commandline); // exit code: 0=success, 1=error + return exitValue; } - - // exec - DefaultExecutor exec = new DefaultExecutor(); - exec.setExitValues(null); - exec.setStreamHandler(streamHandler); - int exitValue = exec.execute(commandline); // exit code: 0=success, 1=error - return exitValue; } }