58.10. スキーマ検証
JAXB データ形式は、XML との間でマーシャリングおよびアンマーシャリングによる検証をサポートしています。接頭辞 classpath:、file:、または http: を使用して、リソースの解決方法を指定できます。',' 文字を使用して、複数のスキーマファイルを区切ることができます。
Java DSL を使用すると、次のように設定できます。
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat(); jaxbDataFormat.setContextPath(Person.class.getPackage().getName()); jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
XML DSL を使用して同じことができます。
<marshal> <jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"/> </marshal>
JDK に同梱されている SchemaFactory
はスレッドセーフではないため、Camel はその場で下層の SchemaFactory
インスタンスを作成してプールします。
ただし、スレッドセーフな SchemaFactory
実装がある場合は、JAXB データ形式を設定して、この実装を使用できます。
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat(); jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);