我目前正在設計Spring集成中的集成流程,其中我使用FileSplitter處理程序分割文件並將結果發送到其他服務。我目前正在使用FileSystemPersistentAcceptOnceFileListFilter來處理「重複」文件,但是我想在使用FileSplitter讀取文件之後添加重命名文件的功能,實現它的最簡單方法是什麼?在FileSplitter完成後重命名文件
2
A
回答
3
該FileSplitter
有markers
選項。這樣它會生成一個START
和END
消息。所以,當你得到一個END
,您可以執行所需的更名邏輯:
設置爲true之前,文件數據後,發出文件標記信息的開始/結束。標記是FileSplitter.FileMarker有效內容的消息(標記屬性中包含START和END值)。順序處理某些行被過濾的下游流中的文件時,可能會使用標記。它們使下游處理能夠知道文件何時被完全處理。另外,包含START或END的頭文件_標記被添加到這些消息中。 END標記包括行數。如果文件爲空,則只有START和END標記以0作爲lineCount發出。默認值:false。如果爲true,則默認情況下apply-sequence爲false。另請參閱markers-json。
有一個sample application具有類似的功能。
相關問題
- 1. Maven在一切完成後重命名文件
- 2. 傳輸完成後PSFTP重命名文件
- 3. Scrapy蜘蛛完成後重命名輸出文件
- 4. 上傳後重命名文件名
- 5. Applescript - 重複文件夾,然後重命名和重命名文件
- 6. 重命名Docusign完成證書
- 7. 重命名返回鍵完成
- 8. 文件重命名後的變量
- 9. 散後重命名文件的sed -i
- 10. git合併文件後重命名
- 11. 爪哇 - 文件長度後重命名
- 12. 複製後重命名文件夾
- 13. Zend_File_Transfer:上傳後重命名文件
- 14. Powershell - 拷貝後重命名文件
- 15. 重命名文件
- 16. 重命名文件
- 17. 重命名文件
- 18. 重命名文件
- 19. 重命名文件
- 20. 重命名文件
- 21. 重命名文件
- 22. 重命名文件名C++
- 23. 擊 - 重命名文件名
- 24. Filesplitter .PHP
- 25. 在Sublime Text 3中構建文件後重命名文件3
- 26. 文件完成寫入後處理文件Windows命令行.bat
- 27. IntelliJ在Java中用Spock重命名重命名 - 不重命名測試文件
- 28. 重命名文件/文件名從
- 29. Php文件上傳,重命名文件,然後在'成功上傳'頁面返回新文件名?
- 30. 構建後事件msbuild。在成功構建結束時重命名文件
使用路由器將標記路由到一個流,並將這些行路由到另一個流;在標記流上,過濾START標題並使用END標題作爲信號來重命名文件。 –
您也可以在分離器上使用['ExpressionEvaluatingRequestHandlerAdvice'](http://docs.spring.io/spring-integration/reference/html/messaging-endpoints-chapter.html#expression-advice),並進行重命名'onSuccessExpression'。 –