Red Hat Training

A Red Hat training course is available for Red Hat Fuse

85.3. Dozer でのデータフォーマットの使用

Dozer は、マッピング用の Java 以外のソースおよびターゲットをサポートしないため、XML ドキュメントを独自の Java オブジェクトにマッピングすることはできません。 Camel は主に、データ形式を使用して Java とさまざまな種類の形式のマーシャリングを幅広くサポートします。 Dozer コンポーネントは、Dzer で処理する前に入力データおよび出力データをデータ形式で渡すように指定することで、このサポートを活用します。 Dozer への呼び出し外でこれを常に行うことができますが、Dozer コンポーネントで直接サポートすることで、1 つのエンドポイントを使用して Camel 内の任意の変換を設定できます。

たとえば、Dzer コンポーネントを使用して XML データ構造と JSON データ構造をマッピングしたいとします。 Camel Context に以下のデータ形式が定義されている場合:

<dataFormats>
  <json library="Jackson" id="myjson"/>
  <jaxb contextPath="org.example" id="myjaxb"/>
</dataFormats>

その後、JAXB データフォーマットを使用して入力 XML をアンマーシャリングし、Jackson を使用してマッピング出力をマーシャリングするように Dozer エンドポイントを設定できます。

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