我有一个Spring集成应用程序,它在文件存在于本地目录中时对文件进行一些处理。处理完文件后,它会将文件移动到已处理的目录。
一段时间后,新文件出现在同一本地目录中,文件名相同但内容和时间戳不同。应用程序应该再次处理该文件,然后将其移动到已处理的目录...但永远不会生成消息。这是配置:
@Component({
selector: 'my-app',
template: `
<div class="container-fluid">
<template ngbModalContainer></template>
<ngbd-modal-component>
<ngbd-modal-content [name]="modal Title" (notifyParent)="getNotification($event)"></ngbd-modal-content>
</ngbd-modal-component>
</div>
`
})
export class App {
getNotification(event) {
console.log('Message received...');
}
}
我不希望应用程序处理具有相同名称和相同修改时间戳的文件。如何确保应用程序仍然处理具有相同名称但不同时间戳的文件?
答案 0 :(得分:3)
使用ChainFileListFilter
代替CompositeFileListFilter
。
后者为每个过滤器显示所有文件,因此,如果LastModifiedFileListFilter
在第一次尝试时过滤文件(并且FileSystemPersistentAcceptOnceFileListFilter
通过它),则复合过滤器会过滤文件;在下一次尝试时,即使它通过了第一个过滤器,它也会被再次过滤。
ChainFileListFilter
无法将LastModifiedFileListFilter
过滤的文件传递给下一个过滤器。
这是最近的一次修复&#34; (在4.3.7 JIRA here)。
目前的版本是4.3.8。