作者 朱兆平

本地读取报文解析处理

package com.sy.task;
import com.sy.bwAnalysis.AnalysisRoute;
import com.sy.logic.LiftBar;
import com.sy.utils.XMLThreadPoolFactory;
import com.tianbo.util.Date.DateUtil;
import com.tianbo.util.IO.FileTool;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Value;
... ... @@ -51,21 +49,17 @@ public class TaskAnalysis {
List<File> files = FileTool.readDirectoryFiles(fileDirectory);
//文件数量大于50个,每次只解析前50个
if (files!=null && !files.isEmpty() && files.size()>theadamount){
CountDownLatch latch = new CountDownLatch(theadamount);
log.trace("本地解析报文任务开始{},剩余处理文件数量:{}",startTime,files.size());
for (int i=0;i<theadamount;i++){
threadJbob(files.get(i),latch,"",threadPool);
threadJbob(files.get(i),null,"",threadPool);
}
latch.await();
}
//文件数量小于50个,全部一次解析完
else if (files!=null && !files.isEmpty() && files.size()<theadamount){
CountDownLatch latch = new CountDownLatch(files.size());
log.trace("本地解析报文任务开始{},剩余处理文件数量文件数量:{}",startTime,files.size());
for (int i=0;i<files.size();i++){
threadJbob(files.get(i),latch,"",threadPool);
threadJbob(files.get(i),null,"",threadPool);
}
latch.await();
}
}catch (Exception e){
... ... @@ -80,7 +74,7 @@ public class TaskAnalysis {
private void threadJbob(File file,CountDownLatch latch,String transToCfps,ThreadPoolExecutor threadPool){
try{
AnalysisRoute analysisRoute=new AnalysisRoute();
String message = com.sy.utils.FileTool.readfile(file,"UTF-8");
String message = com.sy.utils.FileTool.readfile(file);
analysisRoute.setMessage(message);
threadPool.execute(analysisRoute);
FileUtils.moveFileToDirectory(file,new File("bw/handled/"),true);
... ...