第 168 章 JAXB DataFormat
作为 Camel 版本 1.0 可用
JAXB 是一个数据格式,它使用 JAXB2 XML marshalling 标准(包含在 Java 6 中),将 XML 有效负载合并到 Java 对象中,或将 marshal Java 对象编入 XML 有效负载中。
168.1. 选项
JAXB 数据格式支持 18 个选项,它们列如下。
Name | 默认 | Java 类型 | 描述 |
---|---|---|---|
contextPath |
| 您的 JAXB 类所在的软件包名称。 | |
schema |
| 针对现有模式进行验证。您可以使用前缀 classpath:、file: 或 http: 来指定资源应如何解析。您可以使用 ',' 字符分隔多个模式文件。 | |
schemaSeverityLevel |
|
| 在对 schema 验证时,设置要使用的架构严重性级别。此级别决定了触发 JAXB 停止继续解析的最小严重性错误。默认值为 0 (warning)表示任何错误(警告、错误或严重错误)将触发 JAXB 来停止。有三个级别:0=warning, 1=error, 2=fatal 错误。 |
prettyPrint |
|
| 要让用户能够正常格式化打印输出。默认为 false。 |
对象工厂 |
|
| 是否使用 ObjectFactory 类在汇总期间创建 POJO 类。这只适用于没有使用 JAXB 标注的 POJO 类,并提供 jaxb.index 描述符文件。 |
ignoreJAXBElement |
|
| 是否要忽略 JAXBElement 元素 - 在非常特殊用例中,只需要设置为 false。 |
mustBeJAXBElement |
|
| 无论 marhsalling 都必须是带有 JAXB 注释的 java 对象。如果不是,则失败。这个选项可设置为 false 以放松,比如数据已经采用 XML 格式时。 |
filterNonXmlChars |
|
| 忽略非 xml characheters,并将其替换为空白空间。 |
encoding |
| 使用规则规则并使用特定的编码 | |
片段 |
|
| 打开 marshalling XML 片段树。默认情况下,JAXB 在给定类上查找 XmlRootElement 注解,以便在整个 XML 树上运行。这很有用,但并不总是 - 有时生成的代码没有 XmlRootElement 注解,有时您需要取消marshall 树的一部分。在这种情况下,您可以使用部分卸载。要启用此功能,您需要设置 property partClass。Camel 会将此类传递到 JAXB 的 unmarshaler。 |
partClass |
| 用于碎片解析的类名称。如需片段选项,请参阅。 | |
partNamespace |
| 用于碎片解析的 XML 命名空间。如需片段选项,请参阅。 | |
namespacePrefixRef |
| 在使用 JAXB 或 SOAP 时,JAXB 实现将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。 | |
xmlStreamWriterWrapper |
| 使用自定义 xml 流写入器。 | |
schemaLocation |
| 定义架构的位置 | |
noNamespaceSchemaLocation |
| 定义无命名空间模式的位置 | |
jaxbProviderProperties |
| 在包含要与 JAXB marshaller 搭配使用的自定义 JAXB 供应商属性的注册表中引用 java.util.Map 来查找。 | |
contentTypeHeader |
|
| 如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。 |