187장. JSON XStream DataFormat
Camel 버전 2.0에서 사용 가능
XStream은 XStream 라이브러리 를 사용하여 XML로 마샬링 및 unmarshal Java 개체를 마샬링하는 데이터 형식입니다.
camel 경로에서 XStream을 사용하려면 이 데이터 형식을 구현하는 camel-xstream 에 종속성을 추가해야 합니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml
에 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-xstream</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
187.1. 옵션
JSon XStream dataformat은 아래 나열된 19 옵션을 지원합니다.
이름 | 기본값 | Java Type | 설명 |
---|---|---|---|
objectMapper |
| jackson을 사용할 때 지정된 id와 함께 기존 ObjectMapper를 조회하고 사용합니다. | |
useDefaultObjectMapper |
|
| 레지스트리에서 기본 Jackson ObjectMapper를 조회하고 사용할지 여부입니다. |
prettyPrint |
|
| 인쇄가 깔끔하게 포맷될 수 있도록 합니다. 기본값은 false입니다. |
라이브러리 |
|
| 사용할 json 라이브러리입니다. |
unmarshalTypeName |
| armshalling할 때 사용할 Java 유형의 클래스 이름 | |
jsonView |
| POJO를 JSON으로 마샬링할 때 JSON 출력에서 특정 필드를 제외해야 할 수 있습니다. Jackson으로 JSON 뷰를 사용하여 이를 수행할 수 있습니다. 이 옵션은 JsonView 주석이 있는 클래스를 참조하는 것입니다. | |
include |
| pojo를 JSON으로 마샬링하려는 경우 pojo에 null 값이 있는 일부 필드가 있습니다. 그리고 이러한 null 값을 건너뛰려면 이 옵션을 NON_NULL으로 설정할 수 있습니다. | |
allowJmsType |
|
| JMS 사양의 JMSType 헤더가marshal을 해제하는 데 사용할 FQN 클래스 이름을 지정하는 데 JMS 사용자에 사용됩니다. |
collectionTypeName |
| 사용할 레지스트리에서 조회할 사용자 정의 컬렉션 유형을 나타냅니다. 이 옵션은 드물지만 기본적으로 java.util.Collection과 다른 컬렉션 유형을 사용할 수 있습니다. | |
useList |
|
| 맵 목록 또는 Pojo 목록에 대한 총합을 해제하려면 다음을 수행합니다. |
enableJaxbAnnotationModule |
|
| jackson을 사용할 때 JAXB 주석 모듈 활성화 여부 이 기능을 활성화하면 Jackson에서 JAXB 주석을 사용할 수 있습니다. |
moduleClassNames |
| 사용자 정의 Jackson 모듈을 사용하려면 FQN 클래스 이름이 있는 String으로 지정된 com.fasterxml.jackson.databind.Module을 사용합니다. 여러 클래스를 쉼표로 구분할 수 있습니다. | |
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의 열거형과 일치하는 이름이어야 합니다. | |
disableFeatures |
| Jackson com.fasterxml.jackson.databind.ObjectMapper에서 비활성화할 기능 세트. 이 기능은 com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature 또는 com.fasterxml.jackson.databind.MapperFeature의 열거형과 일치하는 이름이어야 합니다. | |
권한 |
| xml/json에서 Java 빈으로 놀라운 동안 사용할 수 있는 Java 패키지 및 클래스 XStream을 제어하는 권한을 추가합니다. 여기서 또는 JVM 시스템 속성을 사용하여 권한을 구성해야 합니다. 더하기 기호가 허용되고 빼기 기호가 거부되는 구문에 권한을 지정할 수 있습니다. 와일드카드는 접두사로 .을 사용하여 지원됩니다. 예를 들어 com.foo 및 모든 하위 패키지를 허용하려면 specfy com.foo. com.foo.,-com.foo.bar.MySecretBean과 같이 여러 권한을 쉼표로 구성할 수 있습니다. 다음 기본 권한은 org.apache.camel.xstream.xstream.permissions로 JVM 시스템 속성을 지정하여 재정의하지 않는 한 항상 -,java.lang.,java.util. | |
allowUnmarshallType |
|
| 활성화된 경우 Jackson은 unmarshalling 중에 CamelJacksonUnmarshalType 헤더를 사용할 수 있습니다. 이는 원하는 경우에만 사용하도록 설정해야 합니다. |
timezone |
| 설정 후 Jackson은 마샬링/마마스크린팅 시 Timezone을 사용합니다. 이 옵션은 gson, fastjson 및 xstream과 같은 기타 Json DataFormat에는 영향을 미치지 않습니다. | |
contentTypeHeader |
|
| 데이터 형식이 데이터 형식에서 수행할 수 있는 경우 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식을 XML로 마샬링하거나, JSon으로 마샬링되는 데이터 형식에 대한 application/json 등이 있습니다. |