110.18. 고정 이름을 사용하여 단일 파일 사용
단일 파일을 다운로드하고 파일 이름을 알고 싶을 때 fileName=myFileName.txt 를 사용하여 Camel에 다운로드할 파일의 이름을 알릴 수 있습니다. 기본적으로 소비자는 여전히 FTP LIST 명령을 수행하여 디렉터리 목록을 수행한 다음 fileName 옵션을 기반으로 이러한 파일을 필터링합니다. 이 사용 사례에서는 useList=false 를 설정하여 디렉토리 목록을 끄는 것이 좋습니다. 예를 들어 FTP 서버에 로그인하는 데 사용되는 사용자 계정에 FTP LIST 명령을 수행할 수 있는 권한이 없을 수 있습니다. 따라서 useList=false 를 사용하여 이 기능을 해제한 다음 fileName=myFileName.txt 로 다운로드할 파일의 고정된 이름을 제공하면 FTP 소비자가 파일을 계속 다운로드할 수 있습니다. 어떤 이유로 파일이 존재하지 않는 경우 Camel은 기본적으로 예외를 throw하고 ignoreFileNotFoundOrPermissionError=true 를 설정하여 이 값을 무시하고 무시할 수 있습니다.
예를 들어 단일 파일을 선택하고 사용한 후 삭제하는 Camel 경로가 있으면 다음을 수행할 수 있습니다.
from("ftp://admin@localhost:21/nolist/?password=admin&stepwise=false&useList=false&ignoreFileNotFoundOrPermissionError=true&fileName=report.txt&delete=true")
.to("activemq:queue:report");위에서 언급한 모든 옵션을 사용하고 있습니다.
ConsumerTemplate 에서 사용할 수도 있습니다. 예를 들어 단일 파일(있는 경우)을 다운로드하고 파일 내용을 문자열 유형으로 잡으려면 다음을 수행하십시오.
String data = template.retrieveBodyNoWait("ftp://admin@localhost:21/nolist/?password=admin&stepwise=false&useList=false&ignoreFileNotFoundOrPermissionError=true&fileName=report.txt&delete=true", String.class);