我正在编写消息队列,但运行缓慢,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