58장. JAXB
JAXB는 Java 6에 포함된 JAXB2 XML 마샬링 표준을 사용하여 XML 페이로드를 Java 개체에 통합하거나 Java 개체를 XML 페이로드로 마샬링하는 데이터 형식입니다.
58.1. 옵션
JAXB dataformat은 아래 나열된 19 옵션을 지원합니다.
이름 | 기본값 | Java Type | 설명 |
---|---|---|---|
contextPath |
| JAXB 클래스가 있는 필수 패키지 이름입니다. | |
contextPathIsClassName |
| 이는 패키지 이름이 아니라 contextPath가 클래스 이름을 참조함을 표시하도록 true로 설정할 수 있습니다. | |
schema |
| 기존 스키마에 대해 검증합니다. 접두사 classpath:, file: 또는 http:를 사용하여 리소스를 해석하는 방법을 지정할 수 있습니다. ',' 문자를 사용하여 여러 스키마 파일을 분리할 수 있습니다. | |
schemaSeverityLevel |
| 스키마에 대해 유효성을 검사할 때 사용할 스키마 심각도 수준을 설정합니다. 이 수준은 JAXB를 트리거하여 계속 구문 분석을 중지하는 최소 심각도 오류를 결정합니다. 기본값 0(경고)은 오류(경고, 오류 또는 치명적인 오류)가 중지되는 JAXB를 트리거함을 의미합니다. 다음 세 가지 수준은 0=warning, 1=error, 2=fatal 오류입니다. 열거형 값:
| |
prettyPrint |
| 인쇄가 깔끔하게 포맷될 수 있도록 합니다. 기본값은 false입니다. | |
objectFactory |
| ObjectFactory 클래스를 사용하여 마샬링 중에 POJO 클래스를 생성할지 여부입니다. 이는 JAXB에 주석이 포함되지 않고 jaxb.index 설명자 파일을 제공하는 POJO 클래스에만 적용됩니다. | |
ignoreJAXBElement |
| JAXBElement 요소를 무시할지 여부 - 매우 특별한 사용 사례에서 false로 설정하는 데 필요합니다. | |
mustBeJAXBElement |
| marhsalling이 JAXB 주석을 사용하여 java 개체여야 하는지 여부입니다. 그렇지 않으면 실패합니다. 데이터가 이미 XML 형식으로 되어 있을 때와 같이 완화하려면 이 옵션을 false로 설정할 수 있습니다. | |
filterNonXmlChars |
| xml 문자가 아닌 문자를 무시하고 빈 공간으로 교체하려면 다음을 수행합니다. | |
인코딩 |
| 특정 인코딩을 오버라이핑하고 사용합니다. | |
조각 |
| XML 조각 트리를 마샬링합니다. 기본적으로 JAXB는 전체 XML 트리에서 작동하도록 지정된 클래스에 대한 XmlRootElement 주석을 찾습니다. 이는 유용하지만 항상 생성된 코드에 XmlRootElement 주석이 없는 경우 트리의 일부만 필요한 경우가 있습니다. 이 경우 부분적인 unmarshalling을 사용할 수 있습니다. 이 동작을 활성화하려면 property partClass를 설정해야 합니다. Camel은 이 클래스를 JAXB의 unmarshaler에 전달합니다. | |
partClass |
| 조각 구문 분석에 사용되는 클래스의 이름입니다. 자세한 내용은 fragment 옵션에서 참조하십시오. | |
partNamespace |
| 조각 구문 분석에 사용할 XML 네임스페이스입니다. 자세한 내용은 fragment 옵션에서 참조하십시오. | |
namespacePrefixRef |
| JAXB 또는 SOAP를 사용하여 마샬링할 때 JAXB 구현에서는 ns2, ns3, ns4 등과 같은 네임스페이스 접두사를 자동으로 할당합니다. 이 매핑을 제어하기 위해 Camel을 사용하면 원하는 매핑이 포함된 맵을 참조할 수 있습니다. | |
xmlStreamWriterWrapper |
| 사용자 정의 xml 스트림 작성기를 사용하려면 다음을 수행합니다. | |
schemaLocation |
| 스키마의 위치를 정의합니다. | |
noNamespaceSchemaLocation |
| 네임스페이스가 없는 스키마의 위치를 정의합니다. | |
jaxbProviderProperties |
| JAXB marshaller와 함께 사용할 사용자 지정 java.util.Map을 참조하여 사용자 지정 java.util.Map을 사용하여 사용자 지정 java.util.Map을 포함하여 사용자 지정 JAXB 공급자 속성이 포함된 레지스트리에서 조회합니다. | |
contentTypeHeader |
| 데이터 형식에서 데이터 형식의 유형으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식의 경우 XML로 마샬링하거나, 데이터 형식을 JSON으로 마샬링하는 애플리케이션/json입니다. |