78.14. Spring Boot 自動設定
Spring Boot で jaxb を使用する場合は、次の Maven 依存関係を使用して自動設定をサポートしてください。
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-jaxb-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-jaxb-starter</artifactId>
</dependency>
コンポーネントは、以下に記載される 20 のオプションをサポートします。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
camel.dataformat.jaxb.content-type-header | データ形式が Content-Type ヘッダーにデータ形式のタイプを設定する必要があるかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は application/json です。 | true | Boolean |
camel.dataformat.jaxb.context-path | JAXB クラスが配置されているパッケージ名。 | String | |
camel.dataformat.jaxb.context-path-is-class-name | これを true に設定すると、contextPath がパッケージ名ではなくクラス名を参照していることを示すことができます。 | false | Boolean |
camel.dataformat.jaxb.enabled | jaxb データ形式の自動設定を有効にするかどうか。これはデフォルトで有効になっています。 | Boolean | |
camel.dataformat.jaxb.encoding | 特定のエンコーディングを無効にして使用します。 | String | |
camel.dataformat.jaxb.filter-non-xml-chars | xml 以外の文字を無視し、空白に置き換えます。 | false | Boolean |
camel.dataformat.jaxb.fragment | XML フラグメントツリーのマーシャリングをオンにします。デフォルトでは、JAXB は指定されたクラスの XmlRootElement アノテーションを探して、XML ツリー全体を操作します。これは便利ですが、常に有用であるわけではありません。たとえば、生成されたコードに XmlRootElement アノテーションがない場合や、ツリーの一部だけを非整列化する必要がある場合などが挙げられます。その場合、部分的なアンマーシャリングを使用できます。この動作を有効にするには、プロパティー partClass を設定する必要があります。Camel は、このクラスを JAXB のアンマーシャラーに渡します。 | false | Boolean |
camel.dataformat.jaxb.ignore-j-a-x-b-element | JAXBElement 要素を無視するかどうか。非常に特殊なユースケースでのみ false に設定する必要があります。 | false | Boolean |
camel.dataformat.jaxb.jaxb-provider-properties | カスタム java.util.Map を参照して、JAXB マーシャラーで使用されるカスタム JAXB プロバイダープロパティーを含むレジストリーを検索します。 | String | |
camel.dataformat.jaxb.must-be-j-a-x-b-element | マーシャリングが JAXB アノテーション付きの Java オブジェクトでなければならないかどうか。そうでない場合は失敗します。このオプションを false に設定すると、データがすでに XML 形式になっている場合など、設定が緩和されます。 | false | Boolean |
camel.dataformat.jaxb.namespace-prefix-ref | JAXB または SOAP を使用してマーシャリングする場合、JAXB 実装は、ns2、ns3、ns4 などの名前空間接頭辞を自動的に割り当てます。このマッピングを制御するために、Camel では目的のマッピングを含むマップを参照できます。 | String | |
camel.dataformat.jaxb.no-namespace-schema-location | 名前空間のないスキーマの場所を定義します。 | String | |
camel.dataformat.jaxb.object-factory | マーシャリング中に ObjectFactory クラスを使用して POJO クラスを作成できるようにするかどうか。これは、JAXB でアノテーションが付けられておらず、jaxb.index 記述子ファイルを提供していない POJO クラスにのみ適用されます。 | false | Boolean |
camel.dataformat.jaxb.part-class | フラグメント解析に使用されるクラスの名前。詳細は、フラグメントオプションを参照してください。 | String | |
camel.dataformat.jaxb.part-namespace | フラグメントの解析に使用する XML 名前空間。詳細は、フラグメントオプションを参照してください。 | String | |
camel.dataformat.jaxb.pretty-print | 適切にフォーマットされたきれいな印刷出力を有効にします。デフォルトでは false です。 | false | Boolean |
camel.dataformat.jaxb.schema | 既存のスキーマに対して検証します。接頭辞 classpath:、file:、または http: を使用して、リソースの解決方法を指定できます。',' 文字を使用して、複数のスキーマファイルを区切ることができます。 | String | |
camel.dataformat.jaxb.schema-location | スキーマの場所を定義します。 | String | |
camel.dataformat.jaxb.schema-severity-level | スキーマに対して検証するときに使用するスキーマの重大度レベルを設定します。このレベルは、重大度が最小のエラーを判断し、JAXB をトリガーして解析の続行を停止します。デフォルト値の 0 (警告) は、エラー (警告、エラー、または致命的なエラー) によって JAXB が停止することを意味します。0=警告、1=エラー、2=致命的なエラーという 3 つのレベルがあります。 | 0 | Integer |
camel.dataformat.jaxb.xml-stream-writer-wrapper | カスタム xml ストリームライターを使用します。 | String |