Red Hat Training
A Red Hat training course is available for Red Hat Fuse
第178章 JSon XStream DataFormat
Camel バージョン 2.0 で利用可能
XStream は、XStream ライブラリー を使用して Java オブジェクトを XML にマーシャリングおよびアンマーシャリングするデータ形式です。
camel ルートで XStream を使用するには、このデータ形式を実装する camel-xstream の依存関係を追加する必要があります。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-xstream</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
178.1. オプション
JSon XStream データフォーマットは、以下に示す 19 個のオプションをサポートします。
Name | デフォルト | Java タイプ | 説明 |
---|---|---|---|
objectMapper |
| Jackson を使用する際に、指定の ID で既存の ObjectMapper を検索し、使用します。 | |
useDefaultObjectMapper |
|
| レジストリーからデフォルトの Jackson ObjectMapper を検索し、使用するかどうか。 |
prettyPrint |
|
| プリションでフォーマットされた出力を有効にします。デフォルトは false です。 |
library |
|
| 使用する json ライブラリー。 |
unmarshalTypeName |
| 無効化解除時に使用する java タイプのクラス名 | |
jsonView |
| POJO を JSON にマーシャリングする場合は、JSON 出力から特定のフィールドを除外したい場合があります。Jackson を使用すると、JSON ビューを使用してこれを実行できます。このオプションは、JsonView アノテーションを持つクラスを参照します。 | |
include |
| pojo を JSON にマーシャリングし、pojo には null 値を持つフィールドがあります。また、これらの null 値を省略する場合は、このオプションを NOT_NULL に設定します。 | |
allowJmsType |
|
| JMS 仕様からの JMSType ヘッダーがアンマーシャリングに使用する FQN クラス名を指定するために JMS ユーザーに使用されます。 |
collectionTypeName |
| 使用するレジストリーで検索するカスタムコレクションタイプを参照します。このオプションはほとんど使用されることはありませんが、デフォルトとして java.util.Collection とは異なるコレクションタイプを使用できます。 | |
useList |
|
| マップのリストまたは Pojo のリストへ無視する場合は、以下を行います。 |
enableJaxbAnnotationModule |
|
| 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 複数機能の列挙に一致する名前はコンマで区切ることができます。 | |
permissions |
| xml/json から Java Bean へのアンマーシャリング中に使用可能な Java パッケージとクラス XStream を制御するパーミッションを追加します。パーミッションは、ここに設定するか、JVM システムプロパティーを使用してグローバルに設定する必要があります。パーミッションは、プラス記号が allow の構文で指定でき、マイナス記号は deny になります。ワイルドカードは、. をプレフィックスとして使用することでサポートされます。たとえば、com.foo およびすべてのサブパッケージを許可するには、specfy com.foo を使用します。com.foo.,-com.foo.bar.MySecretBean など、複数のパーミッションをコンマで区切って設定できます。以下のデフォルトパーミッションは常に、JVM システムプロパティーと org.apache.camel.xstream.permissions キーを指定して上書きされない限り、-,java.lang.,java.util. です。 | |
allowUnmarshallType |
|
| 有効にすると、Jackson はアンマーシャリング中に CamelJacksonUnmarshalType ヘッダーの使用を試みることができます。これは、使用する場合にのみ有効にしてください。 |
timezone |
| 設定された場合、Jackson はマーシャリング/アンマーシャリング時にタイムゾーンを使用します。このオプションは、gson、fastjson、xstream などの他の Json DataFormat には影響を与えません。 | |
contentTypeHeader |
|
| データフォーマットがデータ形式を実行できる場合に、データ形式がデータ形式の型で Content-Type ヘッダーを設定するかどうか。たとえば、XML へのデータフォーマットの application/xml、または JSon へのデータフォーマットの application/json など。 |