在這個問題上,我已經在牆上打了很長一段時間,並測試了它多種方式,並加入到源代碼中,並找不到它爲什麼不起作用。AcceptOnceFileFilter保持其他過濾器無法在CompositeFileListFilter中工作
我需要一個複合過濾器,以便我可以過濾並提供其他行業標準輪詢檢查。下面的代碼是問題的核心部分,它在入站通道適配器中。
如果addFilter(新的AcceptOnceFileListFilter())不在代碼中,代碼工作正常。只要你把它放進去,就不會找到任何文件。如果我將RegexPatternFileListFilter帶出場景,它將起作用。
CompositeFileListFilter<File> compositeFileListFilter= new CompositeFileListFilter<File>();
compositeFileListFilter.addFilter(new RegexPatternFileListFilter(".*_CLAIM_.*[.]txt"));
compositeFileListFilter.addFilter(new AcceptOnceFileListFilter<File>());
compositeFileListFilter.addFilter(lastModifiedFilter());
FileReadingMessageSource pollDirectory = new FileReadingMessageSource();
pollDirectory.setDirectory(new File(pollingDirectory));
pollDirectory.setAutoCreateDirectory(false);
pollDirectory.setFilter(compositeFileListFilter);
pollDirectory.setLocker(new NioFileLocker());
更新2016年9月21日: 顯示這個問題的一個例子春季啓動應用程序已經上傳到: https://github.com/tedwards-rogue/AcceptOnceFileFilter-Test
那麼,你會不會想出一些Spring Boot應用程序來玩我們這邊?或者至少爲Spring Integration類別提供調試日誌。 –
如何將代碼直接捆綁到Pivotal的你們身上?它目前在私人Git存儲庫中。 –
如果這是足夠簡單的通用Spring Boot應用程序,則可以將其作爲公共應用程序使用。如果你的應用程序非常龐大,我們不打算挖掘到目前爲止。雖然你可以給我的用戶權限,看看你的私人回購:https://github.com/artembilan –