dubbo-go-hessian2 icon indicating copy to clipboard operation
dubbo-go-hessian2 copied to clipboard

Support java wrapper types

Open tiltwind opened this issue 2 years ago • 3 comments

What would you like to be added: Support java wrapper types.

Why is this needed: Many users need types in golang which maps the java wrapper types , including Interger,Long,Short,Float,Double,Character. So I think it's an important feature should being supported as soon as possible. I spend a few days to add this feature.

New supported java wrapper types:

java wrapper types golang types
java.lang.Integer *int32
java.lang.Byte *byte
java.lang.Short *int16
java.lang.Boolean *bool
java.lang.Long *int64
java.lang.Float *float32
java.lang.Double *float64
java.lang.Character *hessian.Rune

BUT,BUT,BUT it is NOT forward compatible. The following types art not supported from v2.0.0, if u use these types, use the replacing types instead:

unsupported types use replacing types instead
hessian.IntegerArray []*int32
hessian.ByteArray []*byte
hessian.ShortArray []*int16
hessian.BooleanArray []*bool
hessian.LongArray []*int64
hessian.FloatArray []*float32
hessian.DoubleArray []*float64
hessian.CharacterArray []*hessian.Rune

The 2.0 branch includes the following changes:

  1. define new inner register function to support special golang types to map java class name.
  2. define *hessian.Rune to ref java.lang.Character
  3. upgrade hessian-lite to 3.2.13, and add function to remove the serialization limit for test classes in package com.caucho.hessian.test.
  4. Fix bugs in unit tests.
  5. Fix multiple level array name incorrectly combined.

Because it's not forward compatible, I will push it to 2.0 branch first, u can upgrade and test it by executing go get github.com/apache/[email protected].

If u meet some problem, pls tell us in this issue. Thanks!

tiltwind avatar Feb 12 '23 03:02 tiltwind

建议像这种知识,更新到 readme 里面。readme 现在很贫瘠,我前边还建了个issue #342

AlexStocks avatar Feb 16 '23 11:02 AlexStocks

建议像这种知识,更新到 readme 里面。readme 现在很贫瘠,我前边还建了个issue #342

already add in readme in #350

tiltwind avatar Feb 17 '23 15:02 tiltwind

currently, the dubbo-go ci is pass for the major version , see https://github.com/apache/dubbo-go/pull/2222

tiltwind avatar Feb 21 '23 14:02 tiltwind