Browse Source

Close log file after script executed

Yi 7 years ago
parent
commit
c3ef6e0d3a
1 changed files with 15 additions and 14 deletions
  1. 15 14
      xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java

+ 15 - 14
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;
+        }
     }
 
 }