我有以下代码:
return IntegrationFlows
.from(Files.inboundAdapter(new File("data"))
.filter(new SimplePatternFileListFilter("*.txt"))
.filter(new AcceptOnceFileListFilter<>()),
e -> e.poller(Pollers.fixedDelay("1000"))
.id("fileInboundChannelAdapter"))
.split(new FileSplitter())
.<Object, Class<?>>route(Object::getClass, m -> m.channelMapping(String.class, "tranform.input")).get();
我的 SimplePatternFileListFilter 无法正常工作,但是如果我删除了 AcceptOnceFileListFilter ,则可以正常工作。
是否只能传递一个FileListerFilter?如果是,是否有任何解决方法?
答案 0 :(得分:1)
是的。由于我们不知道您将如何组合它们以及顺序如何,因此只能配置一个.filter()
。但是,同时有CompositeFileListFilter
和ChainFileListFilter
供您选择以组成一组过滤器。而且那里的顺序已经很重要了。
下面的所有艰苦工作都委托给FileListFilterFactoryBean
,而组成和相互排斥是由那个人决定的。
我想我们需要在此问题上提供更简洁的JavaDocs。随时提出JIRA,我们会尽快修复。