82.4. 샘플
myfile.txt
와 같은 고정 파일 이름을 입력할 수 있습니다.
fileName="myfile.txt"
fileName="myfile.txt"
파일 소비자를 사용하여 파일을 읽고 읽기 파일을 이동하여 현재 날짜가 하위 폴더인 폴더를 백업하려는 경우를 살펴보겠습니다. 이 작업은 다음과 같은 표현식을 사용하여 수행할 수 있습니다.
fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
상대 폴더 이름도 지원되므로 백업 폴더가 형제 폴더여야 하고 다음과 같이 추가할 수
있습니다.
fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"
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"
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"
fileName="orders/order-${in.header.customerId}-${date:in.header.orderDate:yyyyMMdd}.xml"
또한 빈 표현식을 사용하여 사용할 일부 String 출력(또는 String으로 변환 가능)을 생성하는 CloudEvent 클래스를 호출할 수도 있습니다.
fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"
물론 이 모든 것을 하나의 결합된 표현에서 및 언어를 사용할 수 있는 하나의 표현식으로 결합할 수 있습니다. 이는 일반적인 파일 경로 패턴에 대해 매우 강력합니다.