2017-11-16 3 views
1

현재 파일 인바운드 어댑터 (nio locker on)가있는 파일을 읽고 그냥 로깅합니다.파일 아웃 바운드 어댑터로 잠긴 파일을 이동하는 방법

파일을 새 위치 (/ 완료)로 이동하기 위해 파일의 아웃 바운드 어댑터를 연결하려고 시도했지만 파일이 잠겨 있기 때문에 오류가 발생할 때마다 시도합니다.

nio-locker 플래그를 제거하면 모든 것이 정상입니다. 문제는 그 파일들에 대해 여러개의 JVM을 작업하고 싶기 때문에 두 개의 JVM이 파일을 가져올 위험이 있습니다.

감사합니다, 크리스티

답변

0

시도는 빈으로 NioFileLocker 노출 대신 내부 <nio-locker><locker ref="">에 그 이름을 사용합니다.

파일을 이동할 준비가되면 NioFileLocker bean 및 해당 unlock(File)으로 전화하십시오.

우리는 어떻게 작동하는지 알려주고 <int-file:inbound-channel-adapter>의 이름을 기반으로 콩 등록 NioFileLocker을 수정할 수 있다고 생각합니다.

+0

안녕하세요. 나는 이것에 대해서도 생각해 봤지만 동일한 디렉토리를 스캔하는 여러 JVM (프로세스)을 갖고 싶었다. 이 사실을 감안할 때 다른 JVM이 이동하기 위해 잠겨 있지 않은 파일을 선택한다는 사실이 아주 조금 있음을 의미합니다. 이를위한 효과적인 해결책이 있는지 모르겠다. 지금은 NioLocker를 제거했으며 특정 폴더를 스캔하는 JVM을 하나만 갖게됩니다. – Cristi

+0

어때 이것에 대해 https://stackoverflow.com/questions/35093757/move-a-file-without-releasing-lock? –

+0

안녕하세요. 늦은 응답에 대해 죄송합니다. 그뿐만 아니라 복사본을 아무 문제없이 작동하도록 시도했지만 주요 문제 (파일을 입력 폴더에서 삭제할 수 없음)는 여전히 남아 있습니다. 우리가 한 것은 결정을 내리고 잠그는 것을 피하기 위해 한 번에 하나의 JVM 만 특정 폴더를 검사한다는 데 동의합니다. – Cristi