if (!isFresh) {
ArrayList<String> foldersNamesToBeZipped =
GeneralInfoDownload.getFilesToDownloadForWorkstep(this.map.get("DEPARTMENT"));
ArrayList<File> folderFilesToBeZipped = new ArrayList<File>();
for (String name : foldersNamesToBeZipped) {
folderFilesToBeZipped.add(new File(MasterPath + System.getProperty("file.separator") + name));
}
log.info("****************Copying start TimeStamp***************" + this.map.get("JID"));
TDFileUtil.copyFilesToDirectory(folderFilesToBeZipped,
new File(toPcFolder.getAbsolutePath() + File.separator
+ "NEW_ORIGNALS"));
}
}
GeneralInfoDownload.getFilesToDownloadForWorkstep
函數獲取所有要壓縮和下載的文件。
TDFileUtil.copyFilesToDirectory
函數裏面使用Apache commons方法copyDirectoryToDirectory
和copyFileToDirectory
。
當只有一個或兩個請求時,它可以正常工作,但當多個請求排隊時,它會變慢。
這是預料之中,但是有任何性能提升可以完成。 (我的意思是說它只是可以忍受的。)
你是否測量過緩慢?一些分析性能消失的地方可能有助於確定瓶頸。還有一些代碼會有幫助。 – Markus 2013-03-18 06:25:10
發佈一些代碼。可能你只需要在zip流下添加一個'BufferedOutputStream'。 – EJP 2013-03-18 06:42:18