java.math.BigDecimal 到 Avro .avdl 文件

标签 java avro bigdecimal avro-tools

我在为 java.math.BigDecimal 类型编写 Avro 模式时遇到问题,我尝试了以下方法:

  1. 基于 Avro 官方 doc ,我知道我需要自己定义逻辑类型来支持 BigDecimal,但该链接仅在 avsc 中给出示例,我正试图在 avdl 中弄清楚。
  2. 基于 Avro doc还有这个example , 我在下面写了 avdl:

`

@namespace("test")
protocol My_Protocol_v1 {

  record BigDecimal {
        @java-class("java.math.BigDecimal") string value;
  }

`

但它不起作用: 这个 IDL 模式编译得很好,可以生成一个名为 BigDecimal 的 Java 类,但我不能真正将生成的 BigDecimal 用作 java.math.BigDecimal,这是怎么回事?或者我应该怎么做?

非常感谢

最佳答案

好的,所以我通过电子邮件发送了 Apache Avro 开发电子邮件列表,并收到了 Doug Cutting 的回复(非常感谢 Doug)。

I believe this has already been implemented but not yet released.

It was implemented in: https://issues.apache.org/jira/browse/AVRO-1847

This is slated to be included in the 1.8.2 release, which should soon be out.

关于java.math.BigDecimal 到 Avro .avdl 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41969300/

相关文章:

java - 关于运行时常量池或堆中的String的一些问题?

Java EE : EJB Entity, Web 独立版

java - 用于激发 StructType 的 Avro Schema

java - Avro Map 类型字段不支持默认值

java - Java程序将Avro文件转换为文本文件

java - 如何截断/舍入大 BigDecimal 数字以采用科学记数法

java - 返回一个范围以与 BigDecimal 进行比较

java - 如何根据用户输入决定调用哪个方法?

java - 如何用Java实现下面的scala代码片段

java - 如何在 Java 中识别 BigDecimal 和 Double