Я пишу очередь сообщений, но она работает медленно, метод processFile занимает слишком много времени, и файлы застревают в очереди в течение длительного времени. Как этого избежать.Message Queue slow performance
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 секунд. –
хороший отзыв спасибо @PeterLawrey – prsutar