2017-01-31 9 views
2

ファイル.avdl、私は次のことを試してみました:アブロ公式docに基づいてのjava.math.BigDecimalは、私はトラブルのjava.math.BigDecimalタイプのためのアブロスキーマを書いを抱えている

  1. 、私は私を知っていますBigDecimalをサポートするためにはLogical Typesを自分で定義する必要がありますが、そのリンクはavscでしかない例です。私はavdlでそれを理解しようとしています。
  2. アブロ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として使用することはできません。何が問題なのですか?または私はそれをどうすればいいのですか?

どうもありがとう

答えて

1

OK、私は、Apacheアブロdevの電子メールリストを電子メールで送信し、ダグ・カッティング(どうもありがとうございましたダグ)からの応答を得ました。

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. 
0

ちょうどそれが新しいバージョンにどのように機能するかについていくつかの光を当てるために:
私達はちょうど1.8.2のRC4を使用して開始して、次の構文でのBigDecimalフィールドを作成することができます

record Thing { 
    decimal(10,2) foo; 
} 

Thingクラスは、BigDecimalプロパティfoo、精度10、スケール2です。

関連する問題