66.4. 샘플
myfile.txt
와 같은 고정된 파일 이름을 입력할 수 있습니다.
fileName="myfile.txt"
파일 소비자를 사용하여 파일을 읽고 읽기 파일을 이동하여 현재 날짜가 있는 폴더를 하위 폴더로 백업하려고 합니다. 다음과 같은 표현식을 사용하여 이 작업을 수행할 수 있습니다.
fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
상대 폴더 이름도 지원되므로 백업 폴더가 형제 폴더여야 한다고 가정하면 다음과 같이 ...를 추가할 수 있습니다 .
Relative folder names are also supported so suppose the backup folder should be a sibling folder then you can append ... as shown:
fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
언어의 확장 기능이므로 이 언어의 모든 선호 사항에도 액세스할 수 있으므로 이 사용 사례에서는 동적 표현식의 매개 변수로 in.header.type을 사용하려고 합니다.
fileName="../backup/${date:now:yyyyMMdd}/type-${in.header.type}/backup-of-${file:name.noext}.bak"
식에 사용할 사용자 지정 날짜가 있는 경우 Camel은 메시지 헤더에서 날짜 검색을 지원합니다.
fileName="orders/order-${in.header.customerId}-${date:in.header.orderDate:yyyyMMdd}.xml"
마지막으로 빈 표현식을 사용하여 사용할 일부 문자열 출력(또는 String으로 변환할 수 있음)을 생성하는 POJO 클래스를 호출할 수도 있습니다.
fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
물론 이 모든 것을 하나의 식에서 및 언어를 하나의 결합 표현식에서 사용할 수 있는 식에 결합할 수 있습니다. 이는 공통 파일 경로 패턴에 매우 강력합니다.