Browse Source

代码规整

zhangzhanping 6 years ago
parent
commit
8af99a14e5

+ 125 - 0
logs/sys.log

@@ -3,3 +3,128 @@ Dicom dir monitor...
 Monitoring directory:D:\zskk\zskk_system
 --------------------------------------------------
 
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\zskk\zskk_system
+--------------------------------------------------
+

+ 1 - 2
src/main/java/com/zskk/dicom/UploaderZskkApplication.java

@@ -1,7 +1,6 @@
 package com.zskk.dicom;
 
 import com.zskk.dicom.monitor.config.Configs;
-import com.zskk.dicom.monitor.schedules.InitMonitor;
 import com.zskk.dicom.monitor.schedules.StatRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -29,7 +28,7 @@ public class UploaderZskkApplication {
         sb.append("--------------------------------------------------\n");
         Configs.sysLog.info(sb.toString());
         springApplication.run(args);
-        InitMonitor.start();
+       // InitMonitor.start();
         StatRunner.start();
     }
 }

+ 4 - 4
src/main/java/com/zskk/dicom/monitor/monitors/OldFileChangeProc.java

@@ -2,7 +2,7 @@ package com.zskk.dicom.monitor.monitors;
 
 import com.zskk.dicom.monitor.config.Configs;
 import com.zskk.dicom.monitor.report.ErrReporter;
-import com.zskk.dicom.monitor.uploader.FileUploader;
+import com.zskk.dicom.monitor.uploader.UploadsQueue;
 
 import java.io.File;
 import java.util.Timer;
@@ -17,8 +17,8 @@ import java.util.TimerTask;
  * @date:
  */
 public class OldFileChangeProc{
-    public void startMonitor(String dir) {
 
+    public void startMonitor(String dir) {
         if (dir == null) {
             String msg = "error, the monitor dir con't is null!";
             ErrReporter.report(msg);
@@ -52,7 +52,7 @@ public class OldFileChangeProc{
                                     @Override
                                     public void run() {
                                         // TODO Auto-generated method stub
-                                        FileUploader.add(new File(absolutePath));
+                                        UploadsQueue.addFail(new File(absolutePath));
                                     }
                                 }, 1000);
                             }
@@ -76,7 +76,7 @@ public class OldFileChangeProc{
                                     @Override
                                     public void run() {
                                         // TODO Auto-generated method stub
-                                        FileUploader.add(new File(absolutePath));
+                                        UploadsQueue.addFail(new File(absolutePath));
                                     }
                                 }, 1000);
                             }

+ 4 - 0
src/main/java/com/zskk/dicom/monitor/schedules/DirMonitor.java

@@ -2,6 +2,8 @@ package com.zskk.dicom.monitor.schedules;
 
 import com.zskk.dicom.monitor.config.Configs;
 import com.zskk.dicom.monitor.monitors.NowFileChangeProc;
+import com.zskk.dicom.monitor.monitors.OldFileChangeProc;
+
 /**
  *
  * 功能描述: 监测新文件
@@ -15,5 +17,7 @@ public class DirMonitor implements Runnable{
     @Override
     public void run() {
         new NowFileChangeProc().startMonitor(Configs.monitorDir);
+        new OldFileChangeProc().startMonitor(Configs.monitorRetryDir);
+
     }
 }

+ 10 - 27
src/main/java/com/zskk/dicom/monitor/schedules/StatRunner.java

@@ -18,6 +18,7 @@ import java.util.concurrent.TimeUnit;
 public class StatRunner {
 
 /*
+    //手动创建线程池
     private static  ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("dirMonitorThread-call-runner-%d").build();
     private static  ExecutorService dirMonitorPools = new ThreadPoolExecutor(1,1,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedThreadFactory);
     private static  ThreadFactory namedThreadFactory1 = new ThreadFactoryBuilder().setNameFormat("oldUploadThread-call-runner-%d").build();
@@ -27,60 +28,42 @@ public class StatRunner {
     private static  ThreadFactory namedThreadFactory3 = new ThreadFactoryBuilder().setNameFormat("addHistoryFileThread-call-runner-%d").build();
     private static  ExecutorService addHistoryFile2UploadPools = new ThreadPoolExecutor(1,2,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedThreadFactory3);
 */
-
     private static ExecutorService dirMonitorPools = null;
     private static ExecutorService oldUploadPools = null;
     //新
     private static ExecutorService currentUploadPools = null;
     //历史文件记录
     private static ExecutorService addHistoryFile2UploadPools = null;
-    //重试历史文件记录
-    private static ExecutorService retryHistoryFile2UploadPools = null;
     //成功备份移除
     private static ExecutorService successPools = null;
-    //重试文件夹
-    private static ExecutorService retryDirMonitorPools = null;
     //重试上传线程
     private static ExecutorService retryUploadPools = null;
-
     public static void start() {
-      dirMonitorPools = generateSinglePools(dirMonitorPools);
+      dirMonitorPools = generateSinglePools(dirMonitorPools );
         dirMonitorPools.execute(new DirMonitor() );
-  //重试文件监听
-       retryDirMonitorPools = generateSinglePools(retryDirMonitorPools);
-        retryDirMonitorPools.execute(new RetryDirMonitor() );
-//成功备份移除
+        //成功备份移除
         successPools = generatePools(successPools, 2);
         successPools.execute(new SuccessUploadQuenu());
-//老文件放入老文件集合
+        //老文件or重试放入队列
         addHistoryFile2UploadPools = generatePools(addHistoryFile2UploadPools, 2);
-        addHistoryFile2UploadPools.execute(new HistoryFile2UploadQuenu());
-        //重试老文件放入老文件集合
-        retryHistoryFile2UploadPools = generatePools(retryHistoryFile2UploadPools, 2);
-        retryHistoryFile2UploadPools.execute(new HistoryFile2UploadQuenu());
+        addHistoryFile2UploadPools.execute(new HistoryFileQuenuRunner());
         try {
             TimeUnit.SECONDS.sleep(1);
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
- //老上传
+        //老上传
         oldUploadPools = generatePools(oldUploadPools, 2);
         oldUploadPools.execute(new OldUploadRunner());
-//新上传
+         //oldUploadPools.execute(new FileUploadsOss(UploadsQueue.fileQueue));
+        //新上传
         currentUploadPools = generatePools(currentUploadPools, 2);
         currentUploadPools.execute(new CurrentUploadRunner());
-//重试
+        //重试上传
         retryUploadPools = generatePools(retryUploadPools, 2);
         retryUploadPools.execute(new RetryUploadRunner());
-
+       // retryUploadPools.execute(new FileUploadsOss(UploadsQueue.failFileQueue));
     }
-
-
-
-
-
-
-
     public static ExecutorService generatePools(ExecutorService oldPool, int length) {
         if (oldPool != null && !oldPool.isTerminated()) {
             oldPool.shutdown();

+ 9 - 1
src/main/java/com/zskk/dicom/monitor/uploader/CurrentUploadRunner.java

@@ -6,7 +6,15 @@ import com.zskk.dicom.monitor.utils.ExceptionUtil;
 
 import java.io.File;
 import java.util.concurrent.TimeUnit;
-
+/**
+ *
+ * 功能描述: 新文件上传
+ *
+ * @param:
+ * @return:
+ * @auther: zzp
+ * @date: 2019/3/20 11:35
+ */
 public class CurrentUploadRunner implements  Runnable{
     public CurrentUploadRunner() {
     }

+ 14 - 24
src/main/java/com/zskk/dicom/monitor/uploader/FileUploader.java

@@ -8,32 +8,22 @@ import com.zskk.dicom.monitor.utils.MonitorFileUtils;
 import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-
+/**
+ *
+ * 功能描述: 第一次上传
+ *
+ * @param:
+ * @return: 
+ * @auther: MACHENOIKE
+ * @date: 2019/3/21 10:01
+ */
 public class FileUploader {
-	/**
-	 * 上传成功的文件队列
-	 */
-	protected static List<File> successFileQueue = Collections.synchronizedList(new ArrayList<File>());
-	/**
-	 * 上传失败的文件队列
-	 */
-	protected static List<File> failFileQueue = Collections.synchronizedList(new ArrayList<File>());
+
 	private static ExecutorService pools = Executors.newFixedThreadPool(2);
-	public static void add(File file) {
-		if (failFileQueue.contains(file)) {
-			// 文件已经在队列中
-			Configs.sysLog.info(file + ", The file is already in the old queue!");
-		} else {
-			failFileQueue.add(file);
-			Configs.sysLog.info(file + ", The file is added to the old queue!");
-		}
-	}
+
 
 
 //	private static ExecutorService pools = Executors.newFixedThreadPool(2);
@@ -55,14 +45,14 @@ public class FileUploader {
 			Boolean uploadResult = uploadToUrl(postUrl, boundaryKey, content, "", file);
 			if (uploadResult == true) {
 				//放入成功队列
-				successFileQueue.add(file);
+				UploadsQueue.addSuccess(file);
 				// 创建备份目录
 				//String targetFileStr = MonitorFileUtils.touchBackDir(file);
 				//pools.execute(new FileMover(file, new File(targetFileStr)));
 			} else {
 				//第一次失败 加入失败队列
-				failFileQueue.add(file);
-				System.out.println("上传失败----------"+failFileQueue.size()+"个@@@@@----------");
+				UploadsQueue.addFail(file);
+				System.out.println("上传失败----------"+UploadsQueue.failFileQueue.size()+"个@@@@@----------");
 				// 文件上传失败
 				String targetFileStr = MonitorFileUtils.touchRetryDir(file);
 				pools.execute(new FileMover(file, new File(targetFileStr)));

+ 2 - 2
src/main/java/com/zskk/dicom/monitor/uploader/FileUploader_two.java

@@ -40,7 +40,7 @@ public class FileUploader_two {
             Boolean uploadResult = uploadToUrl(postUrl, boundaryKey, content, "", file);
             if (uploadResult == true) {
                 //放入成功队列
-                FileUploader.successFileQueue.add(file);
+                UploadsQueue.addSuccess(file);
                 // 创建备份目录
                 //String targetFileStr = MonitorFileUtils.touchBackDir(file);
                 //pools.execute(new FileMover(file, new File(targetFileStr)));
@@ -50,7 +50,7 @@ public class FileUploader_two {
                 String targetFileStr = MonitorFileUtils.touchEorrDir(file);
                 pools.execute(new FileMover(file, new File(targetFileStr)));
                 //复制到重试文件夹
-              //  CopyFile.copyFile(file,new File(targetFileStr));
+                //  CopyFile.copyFile(file,new File(targetFileStr));
                 // 文件上传失败
                 ErrReporter.report("文件第二次上传失败:" + file.getPath());
             }

+ 60 - 0
src/main/java/com/zskk/dicom/monitor/uploader/FileUploadsOss.java

@@ -0,0 +1,60 @@
+package com.zskk.dicom.monitor.uploader;
+
+import com.zskk.dicom.monitor.config.Configs;
+
+import java.io.File;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+public class FileUploadsOss implements Runnable{
+    static  List<File> list;
+    public FileUploadsOss(List<File> list){
+        this.list = list;
+
+    }
+    @Override
+    public void run() {
+        while(true){
+            boolean flag = upload();
+            Configs.sysLog.info("--list -- System upload flag:" + flag + "\n Filelist.size:" + list.size());
+
+                try {
+                    if(flag) {
+                        TimeUnit.MILLISECONDS.sleep(10);
+                    }
+                    else {
+                        TimeUnit.SECONDS.sleep(1);
+                    }
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+        }
+    }
+    public synchronized static boolean upload() {
+        boolean flag = false;
+            try{
+               // List<File> fileQueue = UploadsQueue.fileQueue;
+                // 从队列中移除已完成任务
+                if(list.size() > 0) {
+                    System.out.println("老文件"+list.size()+"-----------------------");
+                    File file = list.remove(0);
+                    //上传
+
+                    if (list.equals(UploadsQueue.failFileQueue)){
+                        System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+                        FileUploader_two.upload(file);
+                    }else if (list.equals(UploadsQueue.fileQueue)){
+                        System.out.println("111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");
+                        FileUploader.upload(file);
+                    }
+
+                    flag = true;
+                }
+            }catch(Throwable e) {
+
+        }
+
+        return flag;
+    }
+
+}

+ 0 - 34
src/main/java/com/zskk/dicom/monitor/uploader/HistoryFile3UploadQuenu.java

@@ -1,34 +0,0 @@
-package com.zskk.dicom.monitor.uploader;
-
-import com.zskk.dicom.monitor.config.Configs;
-import org.apache.commons.io.FileUtils;
-
-import java.io.File;
-import java.util.Iterator;
-/**
- *
- * 功能描述: 重试文件放入失败队列
- *
- * @param:
- * @return: 
- * @auther: zzp
- * @date: 2019/3/19 11:44
- */
-public class HistoryFile3UploadQuenu implements Runnable{
-    @SuppressWarnings("static-access")
-    @Override
-    public void run() {
-        //读取监控文件夹
-        File dir = new File(Configs.monitorRetryDir);
-        Iterator<File> its = FileUtils.iterateFiles(dir, new String[]{"txt"}, true);
-        while(its.hasNext()){
-            File file = its.next();
-            if(file.exists() && file.isFile()) {
-                FileUploader.add(new File(file.getAbsolutePath()));
-
-
-                //222
-            }
-        }
-    }
-}

+ 19 - 2
src/main/java/com/zskk/dicom/monitor/uploader/HistoryFile2UploadQuenu.java → src/main/java/com/zskk/dicom/monitor/uploader/HistoryFileQuenuRunner.java

@@ -5,8 +5,16 @@ import org.apache.commons.io.FileUtils;
 
 import java.io.File;
 import java.util.Iterator;
-
-public class HistoryFile2UploadQuenu implements Runnable {
+/**
+ *
+ * 功能描述: 老文件加入队列
+ *
+ * @param:
+ * @return: 
+ * @auther: zzp
+ * @date: 2019/3/20 11:07
+ */
+public class HistoryFileQuenuRunner implements Runnable {
     @SuppressWarnings("static-access")
     @Override
     public void run() {
@@ -19,6 +27,15 @@ public class HistoryFile2UploadQuenu implements Runnable {
                 UploadsQueue.add(new File(file.getAbsolutePath()));
             }
         }
+        //读取重试监控文件夹
+        File dirRetry = new File(Configs.monitorRetryDir);
+        Iterator<File> itsRetry = FileUtils.iterateFiles(dirRetry, new String[]{"txt"}, true);
+        while(itsRetry.hasNext()){
+            File file = itsRetry.next();
+            if(file.exists() && file.isFile()) {
+                UploadsQueue.addFail(new File(file.getAbsolutePath()));
+            }
+        }
 
 
     }

+ 9 - 1
src/main/java/com/zskk/dicom/monitor/uploader/OldUploadRunner.java

@@ -6,7 +6,15 @@ import com.zskk.dicom.monitor.utils.ExceptionUtil;
 
 import java.io.File;
 import java.util.concurrent.TimeUnit;
-
+/**
+ *
+ * 功能描述: 老文件上传
+ *
+ * @param:
+ * @return:
+ * @auther: zzp
+ * @date:
+ */
 public class OldUploadRunner implements Runnable{
     public OldUploadRunner() {
     }

+ 13 - 5
src/main/java/com/zskk/dicom/monitor/uploader/RetryUploadRunner.java

@@ -6,13 +6,21 @@ import com.zskk.dicom.monitor.utils.ExceptionUtil;
 
 import java.io.File;
 import java.util.concurrent.TimeUnit;
-
+/**
+ *
+ * 功能描述: 重试文件上传
+ *
+ * @param:
+ * @return: 
+ * @auther: zzp
+ * @date:
+ */
 public class RetryUploadRunner implements Runnable{
     @Override
     public void run() {
         while(true) {
             boolean flag = upload();
-            Configs.sysLog.info("--RetryFileQueue-- System upload flag:" + flag + "\nFileUploader.failFileQueue.size:" + FileUploader.failFileQueue.size());
+            Configs.sysLog.info("--RetryFileQueue-- System upload flag:" + flag + "\nFileUploader.failFileQueue.size:" + UploadsQueue.failFileQueue.size());
             try {
                 if(flag) {
                     TimeUnit.MILLISECONDS.sleep(10);
@@ -30,9 +38,9 @@ public class RetryUploadRunner implements Runnable{
         boolean flag = false;
         try {
             // 从队列中移除已完成任务
-            if(FileUploader.failFileQueue.size() > 0) {
-                System.out.println("重试文件"+FileUploader.failFileQueue.size()+"个-----------------------");
-                File file = FileUploader.failFileQueue.remove(0);
+            if(UploadsQueue.failFileQueue.size() > 0) {
+                System.out.println("重试文件"+UploadsQueue.failFileQueue.size()+"个-----------------------");
+                File file = UploadsQueue.failFileQueue.remove(0);
                 FileUploader_two.upload(file);
 
                 flag = true;

+ 4 - 4
src/main/java/com/zskk/dicom/monitor/uploader/SuccessUploadQuenu.java

@@ -24,7 +24,7 @@ public class SuccessUploadQuenu implements  Runnable {
     public void run() {
         while(true) {
             boolean flag = mover();
-            Configs.sysLog.info("--SuccessFileQueue-- System upload flag:" + flag + "\nUploadsQueue.SuccessFileQueue.size:" + FileUploader.successFileQueue.size());
+            Configs.sysLog.info("--SuccessFileQueue-- System upload flag:" + flag + "\nUploadsQueue.SuccessFileQueue.size:" + UploadsQueue.successFileQueue.size());
             try {
                 if(flag) {
                     TimeUnit.MILLISECONDS.sleep(10);
@@ -43,9 +43,9 @@ public class SuccessUploadQuenu implements  Runnable {
         boolean flag = false;
         try {
             // 从队列中移除已完成任务
-            if(FileUploader.successFileQueue.size() > 0) {
-                System.out.println("成功文件队列"+FileUploader.successFileQueue.size()+"个-----------------------");
-                File file = FileUploader.successFileQueue.remove(0);
+            if(UploadsQueue.successFileQueue.size() > 0) {
+                //System.out.println("成功文件队列"+UploadsQueue.successFileQueue.size()+"个-----------------------");
+                File file = UploadsQueue.successFileQueue.remove(0);
                 //备份
                 String targetFileStr = MonitorFileUtils.touchBackDir(file);
                 //移除源文件

+ 28 - 2
src/main/java/com/zskk/dicom/monitor/uploader/UploadsQueue.java

@@ -11,11 +11,19 @@ public class UploadsQueue {
     /**
      * 待处理的文件队列
      */
-    protected static List<File> fileQueue = Collections.synchronizedList(new ArrayList<File>());
+    public static List<File> fileQueue = Collections.synchronizedList(new ArrayList<File>());
     /**
      * 新处理的文件队列
      */
-    protected static List<File> currentFileQueue = Collections.synchronizedList(new ArrayList<File>());
+    public static List<File> currentFileQueue = Collections.synchronizedList(new ArrayList<File>());
+    /**
+     * 上传成功的文件队列
+     */
+    public static List<File> successFileQueue = Collections.synchronizedList(new ArrayList<File>());
+    /**
+     * 上传失败的文件队列
+     */
+    public static List<File> failFileQueue = Collections.synchronizedList(new ArrayList<File>());
     /**
      *
      * 功能描述: 新文件添加到集合
@@ -44,4 +52,22 @@ public class UploadsQueue {
             Configs.sysLog.info(file + ", The file is added to the [old] queue!");
         }
     }
+    public static void addSuccess(File file) {
+        if (successFileQueue.contains(file)) {
+            // 文件已经在队列中
+            Configs.sysLog.info(file + ", The file is already in the success queue!");
+        } else {
+            successFileQueue.add(file);
+            Configs.sysLog.info(file + ", The file is added to the success queue!");
+        }
+    }
+    public static void addFail(File file) {
+        if (failFileQueue.contains(file)) {
+            // 文件已经在队列中
+            Configs.sysLog.info(file + ", The file is already in the fail queue!");
+        } else {
+            failFileQueue.add(file);
+            Configs.sysLog.info(file + ", The file is added to the fail queue!");
+        }
+    }
 }