我正在編寫消息隊列,但運行緩慢,processFile方法花費太多時間,並且文件長時間滯留在隊列中。如何避免它。消息隊列性能降低
System.out.println("Message Reader Started....");
do
{
String directoryPath = "C:\\Queue";
int fileCount = new File(directoryPath).list().length;
if (fileCount < 1) {
System.out.println("Files Not Present");
}
else
{
File[] file = new File(directoryPath).listFiles();
String firstFile = file[0].getAbsolutePath();
processFile(firstFile);
}
} while (true);
對於listFiles()沒有保證的順序,你可能正在讀取一個未完全寫入的文件。我建議你閱讀所有的文件(不只是「第一」),只處理那些沒有更新說10或60秒。 – 2014-12-09 18:58:51
不錯的提示謝謝@PeterLawrey – prsutar 2014-12-10 05:42:42