167장. JacksonXML DataFormat
Camel 버전 2.16에서 사용 가능
jackson XML은 XML Mapper 확장과 함께 jackson 라이브러리 를 사용하여 Java 개체에 XML 페이로드를 분리하거나 Java 개체를 XML 페이로드로 마샬링하는 데이터 형식입니다.
INFO: Jackson에 익숙한 경우 이 XML 데이터 형식은 JSON 카운터와 동일한 방식으로 동작하므로 JSON 직렬화/직렬화를 위해 주석이 달린 클래스와 함께 사용할 수 있습니다.
이 확장은 또한 mimics CryostatB의 "Code first" 접근 방식 이기도 합니다.
이 데이터 형식은 빠르고 효율적인 XML 프로세서와 같은 기능(특히 인쇄의 경우)에 의존합니다. http://wiki.fasterxml.com/WoodstoxHome
from("activemq:My.Queue"). unmarshal().jacksonxml(). to("mqseries:Another.Queue");
167.1. JacksonXML Options
jacksonXML 데이터 포맷은 아래에 나열된 15 가지 옵션을 지원합니다.
이름 | 기본 | Java Type | 설명 |
---|---|---|---|
xmlMapper |
| 지정된 ID와 함께 기존 CryostatMapper를 조회하고 사용합니다. | |
prettyPrint |
|
| 잘 포맷된 출력 출력을 가능하게 합니다. 기본적으로 false입니다. |
unmarshalTypeName |
| armshalling 해제 시 사용할 java 유형의 클래스 이름 | |
jsonView |
| Cryostat를 JSON으로 마샬링하는 경우 JSON 출력에서 특정 필드를 제외해야 할 수 있습니다. Jackson을 사용하면 JSON 보기를 사용하여 이를 수행할 수 있습니다. 이 옵션은 JsonView 주석이 있는 클래스를 참조하는 것입니다. | |
포함 |
| pojo를 JSON으로 마샬링하고, pojo에는 null 값이 있는 일부 필드가 있습니다. 또한 이러한 null 값을 건너뛰려면 이 옵션을 NON_NULL로 설정할 수 있습니다. | |
allowJmsType |
|
| JMS 사용자가 JMS 사양의 JMSType 헤더가 FQN classname을 지정하여 unmarshal을 지정할 수 있도록 허용하는 데 사용됩니다. |
collectionTypeName |
| 사용할 레지스트리에서 조회할 사용자 정의 컬렉션 유형을 나타냅니다. 이 옵션은 거의 사용되지 않지만 기본값으로 java.util.Collection과 다른 컬렉션 유형을 사용할 수 있습니다. | |
useList |
|
| 지도 목록 또는 Pojo 목록에 대한 권한을 해제하려면 다음을 수행합니다. |
enableJaxbAnnotationModule |
|
| jackson을 사용할 때 annotations 모듈을 활성화할지 여부입니다. 활성화하면 jackson에서 주석을 사용할 수 있습니다. |
moduleClassNames |
| 사용자 정의 jackson 모듈 com.fasterxml.jackson.databind.Module을 FQN 클래스 이름으로 문자열로 지정하려면 다음을 수행합니다. 여러 클래스를 쉼표로 구분할 수 있습니다. | |
moduleRefs |
| Camel 레지스트리에서 참조하는 사용자 정의 jackson 모듈을 사용하려면 다음을 수행합니다. 여러 모듈은 쉼표로 구분할 수 있습니다. | |
enableFeatures |
| jackson com.fasterxml.jackson.databind.ObjectMapper에서 활성화할 기능 세트 기능은 com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature 또는 com.fasterxml.jackson.databind.MapperFeature Multiple 기능에서 enum과 일치하는 이름이어야 합니다. | |
disableFeatures |
| jackson com.fasterxml.jackson.databind.ObjectMapper에서 비활성화할 기능 세트 기능은 com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature 또는 com.fasterxml.jackson.databind.MapperFeature Multiple 기능에서 enum과 일치하는 이름이어야 합니다. | |
allowUnmarshallType |
|
| 활성화된 경우 Jackson은 unmarshalling 중에 CamelJacksonUnmarshalType 헤더를 사용하려고 할 수 있습니다. 이 설정은 사용하려는 경우에만 활성화해야 합니다. |
contentTypeHeader |
|
| 데이터 형식이 이렇게 할 수 있는 경우 데이터 형식의 형식으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식의 애플리케이션/xml은 XML로 마샬링하거나 데이터 형식의 경우 JSon으로 마샬링하는 애플리케이션/json의 경우 애플리케이션/json입니다. |