2014-10-30 2 views
0

하나의 Linux 상자에서 파일을 읽고 Apache Camel SFTP를 사용하여 다른 상자에 업로드하고 있습니다. 그것은 최대 12 메가 바이트 파일을 위해 잘 작동합니다. 12MB 이상의 파일을 업로드하면 대상 상자에 2 개의 파일이 표시됩니다.Apache Camel SFTP .filepart

  1. 원본 파일 (1.pdf)
  2. 1.pdf.filepart 낙타 SFTP 경로를 사용하여 업로드를 완료 한 후 desitnation 상자에서 두 번째 .filepart 파일을 제거하는 방법

.

답변

0

sftp 끝점에 "include"옵션을 사용할 수 있습니다. 모든 파일 기반 엔드 포인트는 아래의 링크에서 찾을 수있는 동일한 (몇 번 비슷한) 옵션을 가지고 있습니다. 당신이 필요로하는

Camel File 당신을 위해 Camel File2

문제는이 옵션을 포함 사용

<from uri="file:Subfolder?include=myfilename.txt"> 

또는

<from uri="file:Subfolder?include=*.txt"> 

이제 해결하는 데

문제를 다음과 같이 확장자를 가진 당신의 이름을 언급 여러 파일을 읽는 중. 이제 대용량 파일의 경우 대소 문자를 기준으로 대용량 파일이 완전히 복사되기 전에 큰 파일을 읽는 문제에 직면 할 수 있습니다. 이런 일이 발생하면 앞에서 직면하게 될 문제에 따라 "readLock"옵션 또는 관련 옵션을 사용해야합니다. 더 많은 아이디어를 얻으려면 위에 언급 된 링크를 살펴보십시오.

+0

원본 폴더에서 모든 파일을 읽고 desitnation 폴더에 같은 파일을 업로드합니다. 기능이 정상적으로 작동합니다. 하지만 소스 파일 크기가 12MB보다 크면 desitnation 폴더에는 2 개의 파일이 있습니다. 원본 1 개와 .filepart 1 개 내 질문은 여기에 카멜 SFTP를 사용할 때 .filepart를 만드는 것을 피하는 방법입니다. – Gnana

+0

일단 파일이 완전히 복사되면 .filepart 파일이 삭제됩니다. 소스 엔드 포인트에서 readLock을 사용하는 상황에서 사용하고 있습니까? . –

+0

나는 또한 완전히 완료되었을 때 sftp 라이브러리가 .filepart를 삭제할 것이라고 가정합니다. .filepart는 Apache Camel 소스 코드에서 수행하는 작업이 아닙니다. –