Skip to content

Support java wrapper types #349

Open
@tiltwind

Description

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/dubbo-go-hessian2@2.0.

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions