第 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

0

整数

在对 schema 验证时,设置要使用的架构严重性级别。此级别决定了触发 JAXB 停止继续解析的最小严重性错误。默认值为 0 (warning)表示任何错误(警告、错误或严重错误)将触发 JAXB 来停止。有三个级别:0=warning, 1=error, 2=fatal 错误。

prettyPrint

false

布尔值

要让用户能够正常格式化打印输出。默认为 false。

对象工厂

false

布尔值

是否使用 ObjectFactory 类在汇总期间创建 POJO 类。这只适用于没有使用 JAXB 标注的 POJO 类,并提供 jaxb.index 描述符文件。

ignoreJAXBElement

false

布尔值

是否要忽略 JAXBElement 元素 - 在非常特殊用例中,只需要设置为 false。

mustBeJAXBElement

false

布尔值

无论 marhsalling 都必须是带有 JAXB 注释的 java 对象。如果不是,则失败。这个选项可设置为 false 以放松,比如数据已经采用 XML 格式时。

filterNonXmlChars

false

布尔值

忽略非 xml characheters,并将其替换为空白空间。

encoding

 

字符串

使用规则规则并使用特定的编码

片段

false

布尔值

打开 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

false

布尔值

如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.