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 끝점을 구성하여 JAXB 데이터 형식을 사용하여 입력 XML을 분리 해제하고 Jackson을 사용하여 매핑 출력을 마샬링할 수 있습니다.

<endpoint uri="dozer:xml2json?marshalId=myjson&amp;unmarshalId=myjaxb&amp;targetModel=org.example.Order"/>