78.3. 마침 안 됨


이 예제에서는 MY_QUEUE라는 ActiveMQ 대기열에서 Zip 파일 페이로드를 원래 형식으로 분리하고 처리를 위해 UnZippedMessageProcessor 로 전달합니다.

from("activemq:queue:MY_QUEUE")
    .unmarshal().zipFile()
    .process(new UnZippedMessageProcessor());
Copy to Clipboard Toggle word wrap

zip 파일에 하나 이상의 항목이 있는 경우 ZipFileDataFormat의 usingIterator 옵션을 true로 지정하고 splitter를 사용하여 추가 작업을 수행할 수 있습니다.

ZipFileDataFormat zipFile = new ZipFileDataFormat();
zipFile.setUsingIterator(true);

from("file:src/test/resources/org/apache/camel/dataformat/zipfile/?delay=1000&noop=true")
    .unmarshal(zipFile)
    .split(body(Iterator.class)).streaming()
        .process(new UnZippedMessageProcessor())
    .end();
Copy to Clipboard Toggle word wrap

또는 Zip>-<ter를 다음과 같이 스플릿터의 표현식으로 사용할 수 있습니다.

from("file:src/test/resources/org/apache/camel/dataformat/zipfile?delay=1000&noop=true")
    .split(new ZipSplitter()).streaming()
        .process(new UnZippedMessageProcessor())
    .end();
Copy to Clipboard Toggle word wrap

78.3.1. 집계

참고

이 집계 전략을 사용하려면 빠른 완료 검사가 제대로 작동해야 합니다.

이 예제에서는 입력 디렉터리에 있는 모든 텍스트 파일을 출력 디렉터리에 저장된 단일 Zip 파일로 집계합니다.

from("file:input/directory?antInclude=*/.txt")
    .aggregate(constant(true), new ZipAggregationStrategy())
        .completionFromBatchConsumer().eagerCheckCompletion()
        .to("file:output/directory");
Copy to Clipboard Toggle word wrap

발신 CamelFileName 메시지 헤더는 java.io.File.createTempFile을 ".zip" 접미사로 사용하여 생성됩니다. 이 동작을 재정의하려면 경로에서 명시적으로 CamelFileName 헤더 값을 설정할 수 있습니다.

from("file:input/directory?antInclude=*/.txt")
    .aggregate(constant(true), new ZipAggregationStrategy())
        .completionFromBatchConsumer().eagerCheckCompletion()
        .setHeader(Exchange.FILE_NAME, constant("reports.zip"))
        .to("file:output/directory");
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat