384.3. Marshal


이 예에서는 Zip 파일 압축을 사용하여 일반 텍스트/ XML 페이로드를 압축 페이로드로 마샬링하고 MY_QUEUE라는 ActiveMQ 큐로 보냅니다.

from("direct:start")
    .marshal().zipFile()
    .to("activemq:queue:MY_QUEUE");

생성된 Zip 파일 내에 있는 Zip 항목의 이름은 파일 구성 요소에서 사용하는 표준 메시지 헤더인 들어오는 CamelFileName 메시지 헤더를 기반으로 합니다. 또한 나가는 CamelFileName 메시지 헤더는 ".zip" 접미사가 있는 들어오는 CamelFileName 메시지 헤더의 값으로 자동으로 설정됩니다. 예를 들어, 다음 경로가 입력 디렉토리에서 "test.txt"라는 파일을 발견하면 출력은 "test.txt.zip"이라는 단일 Zip 항목이 포함된 "test.txt.zip"이라는 Zip 파일이 됩니다.

from("file:input/directory?antInclude=*/.txt")
    .marshal().zipFile()
    .to("file:output/directory");

들어오는 CamelFileName 메시지 헤더가 없는 경우(예: 파일 구성 요소가 소비자가 아닌 경우) 메시지 ID가 기본적으로 사용되며 메시지 ID는 일반적으로 생성된 고유 ID이므로 ID-MACHINENAME-2443-1211718892437-1-0.zip 과 같은 파일 이름으로 끝납니다. 이 동작을 재정의하려면 경로에서 CamelFileName 헤더 값을 명시적으로 설정할 수 있습니다.

from("direct:start")
    .setHeader(Exchange.FILE_NAME, constant("report.txt"))
    .marshal().zipFile()
    .to("file:output/directory");

이 경로는 출력 디렉터리에 "report.txt.txt"라는 단일 Zip 항목이 포함된 Zip 파일 "report.txt.zip"이 생성됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.