- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从目录中读取一些文件,并且在文件检测和文件处理之间存在延迟。我在构建器模式中有这个:
/**
* The build function that will create a CompositeFileListFilter with the given filters
*
* @return {@link CompositeFileListFilter} that contains all the filters added
*/
public CompositeFileListFilter<File> build() {
CompositeFileListFilter<File> compositeFileListFilter = new CompositeFileListFilter<>();
boolean existsFilters = false;
// Add the prevent duplicates filter
if (this.preventDuplicates) {
compositeFileListFilter.addFilter(new AcceptOnceFileListFilter<File>());
existsFilters = true;
} else {
compositeFileListFilter.addFilter(new AcceptAllFileListFilter<File>());
existsFilters = true;
}
// Add the ignore hidden filter
if (this.ignoreHidden) {
compositeFileListFilter.addFilter(new IgnoreHiddenFileListFilter());
existsFilters = true;
} // Add the pattern file name filter
if (this.patternFilter != null) {
compositeFileListFilter.addFilter(new SimplePatternFileListFilter(patternFilter));
existsFilters = true;
}
// Add the process file after a period of time filter
if (this.lastModifiedFileListFilterAge > 0) {
LastModifiedFileListFilter filter = new LastModifiedFileListFilter();
filter.setAge(lastModifiedFileListFilterAge);
compositeFileListFilter.addFilter(filter);
existsFilters = true;
}
// Check if compositeFileListFilter contains any filter
if (!existsFilters) {
throw new IllegalStateException("At least one filter should be provided!");
}
return compositeFileListFilter;
}
我正在创建这样的过滤器
CompositeFileListFilter<File> filters = new IntegrationFlowFileFilterBuilder()
.ignoreHidden(true)
.preventDuplicates(false)
.patternFilter(returnInformationInputFolderSetup.getPatternFolder())
.lastModifiedFileListFilterAge(120)
.build();
问题是所有其他过滤器都在工作,只有 LastModifiedFileListFilter 不工作。我正在读取一个文件,并且在不到一秒的时间内处理完毕。
有谁知道为什么这个过滤器不起作用?
最佳答案
我刚刚测试了您的用例:
@Test
public void testLastModifiedInComposite() throws IOException {
CompositeFileListFilter<File> compositeFileListFilter = new CompositeFileListFilter<>();
compositeFileListFilter.addFilter(new AcceptAllFileListFilter<>());
compositeFileListFilter.addFilter(new IgnoreHiddenFileListFilter());
compositeFileListFilter.addFilter(new SimplePatternFileListFilter("*.foo"));
compositeFileListFilter.addFilter(new LastModifiedFileListFilter(120));
given(this.fileMock.getName())
.willReturn("test.foo");
given(this.fileMock.lastModified())
.willReturn(System.currentTimeMillis());
List<File> filteredFiles = compositeFileListFilter.filterFiles(new File[] { this.fileMock });
assertTrue(filteredFiles.isEmpty());
compositeFileListFilter.close();
}
请注意,我为 lastmodified
指定了当前时间,而该文件确实没有路径 LastModifiedFileListFilter
。因此我得到一个空结果。只是因为我的文件太新而无法被 LastModifiedFileListFilter
接受。
我建议您调试 CompositeFileListFilter.filterFiles()
方法以确定到底发生了什么。
另请注意,有一个 ChainFileListFilter
对于过滤功能有一些不同的观点: https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/files.html#file-reading
关于java - Spring 集成 LastModifiedFileListFilter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157351/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!