Это не <int-file:inbound-channel-adapter>
ответственность. Это действительно опрос файлов из каталога в соответствии с настройками фильтрации, которые вы предоставляете.
Если вас не интересуют старые файлы, вы можете реализовать пользовательский FileListFilter
, чтобы пропустить файлы, которые действительно так стары.
Если вы все еще хотите удалить эти старые файлы в качестве некоторой функциональности приложения, вам нужно взглянуть на какое-то другое решение, что-то вроде @Scheduled
метода, которое перебирает файлы в этом каталоге и удаляет их, например, скажем, раз в день, в полночь.
Вы также можете просто удалить обработанные файлы в вашей логике. Поскольку вы используете prevent-duplicates="false"
, вы будете снова и снова опрашивать один и тот же файл.
Для очистки каталога не требуется Spring Integration:
public void recursiveDelete(File file) {
if (file != null && file.exists()) {
File[] files = file.listFiles();
if (files != null) {
for (File fyle : files) {
if (fyle.isDirectory()) {
recursiveDelete(fyle);
}
else {
if (fyle.lastModified() > 10 * 24 * 60 * 60 * 1000) {
fyle.delete();
}
}
}
}
}
}
(Вы могли бы немного улучшить эту функцию: еще не тестировали ...)