87.4. Dozer에서 데이터 형식 사용
Dozer는 매핑에 대해 Java가 아닌 소스와 대상을 지원하지 않으므로 XML 문서를 자체적으로 Java 오브젝트에 매핑할 수 없습니다. 유감스럽게도 Camel은 Java와 데이터 형식을 사용하여 다양한 형식의 마샬링에 대한 광범위한 지원을 제공합니다. Dozer 구성 요소는 Dozer를 통해 처리되기 전에 입력 및 출력 데이터를 전달하도록 지정하여 이 지원을 활용합니다. Dozer 호출 외부에서 항상 직접 수행할 수 있지만 Dozer 구성 요소에서 직접 지원하는 경우 단일 끝점을 사용하여 Camel 내에서 임의의 변환을 구성할 수 있습니다.
예를 들어, Dozer 구성 요소를 사용하여 XML 데이터 구조와 JSON 데이터 구조 간에 매핑하려고 한다고 가정하겠습니다. Camel Context에 다음과 같은 데이터 형식이 정의되어 있는 경우:
<dataFormats>
<json library="Jackson" id="myjson"/>
<jaxb contextPath="org.example" id="myjaxb"/>
</dataFormats>
그런 다음 Dozer 끝점을 구성하여 input XML을 언마샬링하고 jackson을 사용하여 매핑 출력을 마샬링할 수 있습니다.
<endpoint uri="dozer:xml2json?marshalId=myjson&unmarshalId=myjaxb&targetModel=org.example.Order"/>