From b144432117acbf386d22860277764fbe02565097 Mon Sep 17 00:00:00 2001 From: hesy Date: Thu, 4 May 2017 17:26:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=89=A7=E8=A1=8C=20transfer?= =?UTF-8?q?FileAtom=20=E5=90=8E=E9=81=97=E7=95=99=E7=9A=84=20lock=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=B2=A1=E6=9C=89=E7=9C=9F=E6=AD=A3=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../disconf/core/common/utils/OsUtil.java | 7 ++-- .../core/test/utils/OsUtilTestCase.java | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 disconf-core/src/test/java/com/baidu/disconf/core/test/utils/OsUtilTestCase.java diff --git a/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java b/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java index a1352d30b..7eb56bc6c 100644 --- a/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java +++ b/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java @@ -205,10 +205,6 @@ public static void transferFileAtom(File src, File dest, boolean isDeleteSource) } catch (IOException e) { logger.warn(e.toString()); } - - if (lockFile != null) { - lockFile.delete(); - } } if (outStream != null) { try { @@ -217,6 +213,9 @@ public static void transferFileAtom(File src, File dest, boolean isDeleteSource) logger.warn(e.toString()); } } + if (lockFile != null) { + lockFile.delete(); + } } // 进行重试 diff --git a/disconf-core/src/test/java/com/baidu/disconf/core/test/utils/OsUtilTestCase.java b/disconf-core/src/test/java/com/baidu/disconf/core/test/utils/OsUtilTestCase.java new file mode 100644 index 000000000..b5369c643 --- /dev/null +++ b/disconf-core/src/test/java/com/baidu/disconf/core/test/utils/OsUtilTestCase.java @@ -0,0 +1,36 @@ +package com.baidu.disconf.core.test.utils; + +import java.io.File; +import java.io.IOException; + +import org.apache.commons.io.FileUtils; +import org.junit.Assert; +import org.junit.Test; + +import com.baidu.disconf.core.common.utils.OsUtil; + +public class OsUtilTestCase { + + @Test + public void makeSureDeleteLockFile() { + File baseDir = new File(System.getProperty("user.dir")); + File srcFile = new File(baseDir, "srcFile.txt"); + try { + FileUtils.writeStringToFile(srcFile, "test data to transfer"); + } catch (IOException ex) { + } + + File destFile = new File(baseDir, "destFile.txt"); + try { + OsUtil.transferFileAtom(srcFile, destFile, true); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + + destFile.delete(); + + File lockFile = new File(baseDir, destFile.getName() + ".lock"); + Assert.assertFalse("Failed to delete lcok file: " + lockFile.getName(), lockFile.exists()); + } + +}