Большое сообщение не удаляется из каталога сообщений - PullRequest
0 голосов
/ 05 июня 2019

Файл большого сообщения никогда не удаляется из каталога больших сообщений.Следующий код в Artemis фактически удаляет файл большого сообщения из каталога большого сообщения.Следующий метод в классе org.apache.activemq.artemis.core.io.AbstractSequentialFile

@Override
public final void delete() throws IOException, InterruptedException, ActiveMQException {
   if (isOpen()) {
      close();
   }

   try {
      Files.deleteIfExists(file.toPath()); //if file is not delete
   } catch (Throwable t) {
      logger.trace("Fine error while deleting file", t);
      ActiveMQJournalLogger.LOGGER.errorDeletingFile(this);
   }
}

В приведенном выше коде как-то, если файл не удален, то этот файл навсегда сохраняется в большой директории сообщений.Может кто-нибудь подскажет, как я решу эту проблему.

1 Ответ

0 голосов
/ 05 июня 2019

Если при удалении файла возникает проблема, то сообщение ERROR регистрируется как:

Failed to delete file /path/to/file

Вы можете использовать эту информацию, чтобы определить, какой конкретный файл должен быть удален, а затем удалить этот файл вручную.

Если исключение не зарегистрировано (по какой-либо причине), и вы хотите избавиться от файла большого сообщения на диске, и на это сообщение нет ссылки ни в одной очереди посредника, остановите посредник, удалите файл и перезапустите брокер.

...