搜索

第 48 章 Bindy DataFormat

download PDF

可作为 Camel 版本 2.0 提供

此组件的目标是允许解析/绑定非结构化数据(或更精确的非 XML 数据)
到使用注解定义的映射的 Java Bean 中。使用 Bindy,可以从源(如 )绑定数据:

  • CSV 记录,
  • 固定长度记录,
  • 修复消息,
  • 或者几乎其它非结构化数据

一个或多个 Plain Old Java 对象(POJO)。Bindy 根据 java 属性的类型转换数据。POJO 可以和一些情况下的一对多关系相关联。此外,对于诸如 Date、Double、Float、Integer、Short、Long 和 BigDecimal 等数据类型,您可以提供在属性格式格式应用的模式。

对于 BigDecimal 编号,您还可以定义精度和十进制或分组分隔符。

类型格式类型pattern 示例Link

Date

DateFormat

dd-MM-yyyy

http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html

十进制*

Decimalformat

..##

http://java.sun.com/j2se/1.5.0/docs/api/java/text/DecimalFormat.html

十进制* = Double, Integer, Float, Short, Long

*Format supported*

第一个版本只支持用逗号分开的值字段和键值对字段(例如 : FIX 消息)。

要使用 camel-bindy,您必须首先在软件包中定义模型(例如 com.acme.model)和每个模型类(如 Order、client、Instrument、…​)将所需的注解(此处所示)添加到 Class 或 字段中。

*Multiple models*

如果您使用多个模型,则必须将每个模型放在它自己的软件包中,以防止无法预计的结果。

Camel 2.16 开始,不再如此,因为您可以在同一软件包中安全地有多个模型,因为现在您可以使用类名称而不是软件包名称来配置绑定。

48.1. 选项

Bindy dataformat 支持 5 选项,它们列如下。

Name默认Java 类型描述

type

 

BindyType

是否使用 csv、fixd 或 key value 对模式。根据所选的数据格式,默认值为 Csv 或 KeyValue。

classType

 

字符串

要使用的模型类的名称。

locale

 

字符串

将默认区域设置配置为使用,如我们进行单元化状态。要使用 JVM 平台默认区域设置,请使用默认名称

unwrapSingleInstance

true

布尔值

当取消marshalling 时,应取消封装并返回单个实例,而不是嵌套在 java.util.List 中。

contentTypeHeader

false

布尔值

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.