検索

第156章 JacksonXML DataFormat

download PDF

Camel バージョン 2.16 から利用可能

Jackson XML は、XML Mapper エクステンションを持つ Jackson ライブラリー を使用して、XML ペイロードを Java オブジェクトにアンマーシャリングしたり、Java オブジェクトを XML ペイロードにマーシャリングしたりする Data Format です。

INFO: Jackson に精通している場合、この XML データフォーマットは JSON に対応するものと同じように動作するため、JSON シリアライゼーション/デシリアライゼーションのアノテーションを付けるクラスで使用できます。

このエクステンションは、JAXB の「Code first」アプローチ も見ます。

このデータ形式は、高速で効率的な XML プロセッサーである Woodstox (特に、プリ印刷などの機能)に依存します。

from("activemq:My.Queue").
  unmarshal().jacksonxml().
  to("mqseries:Another.Queue");

156.1. Jacksonxml オプション

JacksonXML データフォーマットは 15 個のオプションをサポートします。

NameデフォルトJava タイプ説明

xmlMapper

 

文字列

指定した id で既存の XmlMapper を検索し、使用します。

prettyPrint

false

ブール値

プリションでフォーマットされた出力を有効にします。デフォルトは false です。

unmarshalTypeName

 

文字列

無効化解除時に使用する java タイプのクラス名

jsonView

 

class<?>

POJO を JSON にマーシャリングする場合は、JSON 出力から特定のフィールドを除外したい場合があります。Jackson を使用すると、JSON ビューを使用してこれを実行できます。このオプションは、JsonView アノテーションを持つクラスを参照します。

include

 

文字列

pojo を JSON にマーシャリングし、pojo には null 値を持つフィールドがあります。また、これらの null 値を省略する場合は、このオプションを NOT_NULL に設定します。

allowJmsType

false

ブール値

JMS 仕様からの JMSType ヘッダーがアンマーシャリングに使用する FQN クラス名を指定するために JMS ユーザーに使用されます。

collectionTypeName

 

文字列

使用するレジストリーで検索するカスタムコレクションタイプを参照します。このオプションはほとんど使用されることはありませんが、デフォルトとして java.util.Collection とは異なるコレクションタイプを使用できます。

useList

false

ブール値

マップのリストまたは Pojo のリストへ無視する場合は、以下を行います。

enableJaxbAnnotationModule

false

ブール値

Jackson を使用する際に JAXB アノテーションモジュールを有効にするかどうか。有効にすると、Jackson により JAXB アノテーションを使用できます。

moduleClassNames

 

文字列

FQN クラス名で String として指定されたカスタム Jackson モジュール 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 複数機能の列挙に一致する名前はコンマで区切ることができます。

allowUnmarshallType

false

ブール値

有効にすると、Jackson はアンマーシャリング中に CamelJacksonUnmarshalType ヘッダーの使用を試みることができます。これは、使用する場合にのみ有効にしてください。

contentTypeHeader

false

ブール値

データフォーマットがデータ形式を実行できる場合に、データ形式がデータ形式の型で Content-Type ヘッダーを設定するかどうか。たとえば、XML へのデータフォーマットの application/xml、または JSon へのデータフォーマットの application/json など。

156.1.1. Spring DSL での Jackson XML の使用

Spring DSL で Data Format を使用する場合は、最初にデータ形式を宣言する必要があります。これは DataFormats XML タグで実行されます。

        <dataFormats>
            <!-- here we define a Xml data format with the id jack and that it should use the TestPojo as the class type when
                 doing unmarshal. The unmarshalTypeName is optional, if not provided Camel will use a Map as the type -->
            <jacksonxml id="jack" unmarshalTypeName="org.apache.camel.component.jacksonxml.TestPojo"/>
        </dataFormats>

次に、ルートでこの ID を参照できます。

       <route>
            <from uri="direct:back"/>
            <unmarshal ref="jack"/>
            <to uri="mock:reverse"/>
        </route>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.