223장. MIME Multipart DataFormat
Camel 버전 2.17로 사용 가능
첨부 파일을 사용하여 Camel 메시지를 메시지 본문으로 MIME-Multipart 메시지가 있고 첨부 파일이 없는 Camel 메시지로 변환할 수 있는 이 데이터 형식입니다.
이를 위한 사용 사례는 사용자가 특수 프로토콜 구현(예: HTTP 끝점을 통해 MIME-multipart를 통해) 또는 터널링 솔루션으로서 직접 첨부 파일을 지원하지 않는 끝점으로 첨부 파일을 보낼 수 있습니다(예: MIME-Multipart는 첨부 파일을 지원하지 않지만 MIME-Multipart로 메시지를 마샬링하지 않기 때문에). JMS 대기열에서 메시지를 수신하고 다시(연결이 있는 메시지 본문)에서 메시지를 수신하는 JMS 대기열로 전송.
mime-multipart 데이터 형식의 마샬링 옵션은 첨부 파일이 있는 메시지를 MIME-Multipart 메시지로 변환합니다. 매개 변수가 "multipartWithoutAttachment"로 설정된 경우 매개 변수가 false로 설정되어 있으면 메시지만 종료하지 않고 여러 부분으로 메시지를 마샬링합니다.
mulitpart의 MIME 헤더를 "MIME-Version"으로, "Content-Type"은 메시지에 대한 camel 헤더로 설정됩니다. 매개 변수 "headersInline"이 true로 설정된 경우 어떠한 경우에도 MIME 다중 파트 메시지도 생성됩니다.
또한 multipart의 MIME 헤더는 camel 헤더가 아니라 메시지 본문의 일부로 작성됩니다.
mime-multipart 데이터 형식의 unmarshal 옵션은 MIME-Multipart 메시지를 첨부 파일과 함께 camel 메시지로 변환하고 다른 메시지를 단독으로 남겨 둡니다. MIME-Multipart 메시지의 MIME-Headers를 Camel 헤더로 설정해야 합니다. unmarshalling은 "Content-Type" 헤더가 "multipart" 유형으로 설정된 경우에만 수행됩니다. "headersInline" 옵션을 true로 설정하면 메시지 본문이 스트림인 경우 본문이 항상 MIME 메시지로 구문 분석되고 메시지 본문에 MIME 헤더가 없는 메시지 본문이 빈 메시지로 교체됩니다. Camel 버전 2.17.1까지 본문 유형 및 스트림 캐시 설정에 관계없이 MIME 다중 파트 메시지가 포함되지 않은 모든 메시지 본문이 발생합니다.
223.1. 옵션
MIME Multipart dataformat은 아래에 나열된 6가지 옵션을 지원합니다.
이름 | 기본값 | Java Type | 설명 |
---|---|---|---|
multipartSubType |
|
| MIME Multipart의 하위 유형을 지정합니다. 기본값은 mixed입니다. |
multipartWithoutAttachment |
|
| 첨부 파일이 없는 메시지도 MIME Multipart로 마샬링되는지 여부를 정의합니다( 본문 부분만 포함). 기본값은 false입니다. |
headersInline |
|
| MIME-Multipart 헤더가 메시지 본문(true)의 일부인지 아니면 Camel 헤더(false)로 설정되는지 여부를 정의합니다. 기본값은 false입니다. |
includeHeaders |
| MIME multipart에 MIME 헤더로 포함되어 있는 Camel 헤더를 정의하는 regex입니다. headersInline이 true로 설정된 경우에만 작동합니다. 기본값은 헤더를 포함하지 않는 것입니다. | |
binaryContent |
|
| MIME multipart의 바이너리 부분의 콘텐츠가 바이너리(true)인지 또는 Base-64로 인코딩된 기본값(false)인지 여부를 정의합니다. |
contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |