[SPRING] Spring 통합 ftp 인바운드 어댑터를 사용하여 처리 된 파일을 다른 디렉토리로 이동
SPRINGSpring 통합 ftp 인바운드 어댑터를 사용하여 처리 된 파일을 다른 디렉토리로 이동
추가 처리를 위해 파일을 가져 오기 위해 ftp 인바운드 어댑터를 사용하여 로컬 디렉토리를 폴링하려고합니다. 파일을 다른 로컬 디렉토리로 옮기고 원본 파일에서 삭제하려고합니다. 그것을 성취 할 수있는 방법을 얻지 못했습니다. 여기 내가 지금까지 가지고있는 것이있다.
<int-ftp:inbound-channel-adapter id="ftpInbound"
channel="ftpChannel" session-factory="ftpClientFactory"
filename-pattern="*.xml" auto-create-local-directory="false"
delete-remote-files="false" remote-directory="/" local-directory="//C://FBS//testmq">
<int:poller fixed-rate="20000" />
</int-ftp:inbound-channel-adapter>
<int:channel id="ftpChannel">
<int:queue />
</int:channel>
해결법
-
==============================
1.의사 트랜잭션 관리자와 트랜잭션 동기화를 사용하십시오. 문서의 파일 예제를 참조하십시오. 다음은 문서의 해당 섹션에있는 구성입니다.
의사 트랜잭션 관리자와 트랜잭션 동기화를 사용하십시오. 문서의 파일 예제를 참조하십시오. 다음은 문서의 해당 섹션에있는 구성입니다.
<int-file:inbound-channel-adapter id="inputDirPoller" channel="someChannel" directory="/foo/bar" filter="filter" comparator="testComparator"> <int:poller fixed-rate="5000"> <int:transactional transaction-manager="transactionManager" synchronization-factory="syncFactory" /> </int:poller> </int-file:inbound-channel-adapter> <int:transaction-synchronization-factory id="syncFactory"> <int:after-commit expression="payload.renameTo(new java.io.File('/success/' + payload.name))" channel="committedChannel" /> <int:after-rollback expression="payload.renameTo(new java.io.File('/failed/' + payload.name))" channel="rolledBackChannel" /> </int:transaction-synchronization-factory>
다음 섹션으로 계속 읽으십시오 ...
from https://stackoverflow.com/questions/30151642/moving-processed-files-to-another-directory-using-spring-integration-ftp-inbound by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] spring / hibernate : 매번 세션 열기 / 닫기 VS getCurrentSession (0) | 2019.05.21 |
---|---|
[SPRING] 주석으로 주석 된 메소드의 aspect는 다른 주석으로 주석 처리됩니다. (0) | 2019.05.21 |
[SPRING] Entity 객체를 JSON으로 변환 (0) | 2019.05.21 |
[SPRING] 쿼츠를 사용한 데이터 검색 (0) | 2019.05.21 |
[SPRING] javascript에서 색인을 사용하여 스프링 모델 속성 목록 요소 가져 오기 (0) | 2019.05.21 |