import com.alipay.remoting.config.ConfigManager;
import com.alipay.remoting.serialization.Serializer;
import com.alipay.remoting.serialization.SerializerManager;
import lombok.Builder;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
/**
*/
@Slf4j
public class HessianSerializerTest {
/**
* com.alipay.remoting.rpc.protocol.RpcRequestCommand#deserializeContent()
*/
public static void main(String[] args) throws Exception {
byte serializerId = ConfigManager.serializer;
Serializer serializer = SerializerManager.getSerializer(serializerId);
FooOneEntity fooOneEntity = FooOneEntity.builder()
.id(1)
.name("name_1")
.build();
// 编码serialize
byte[] fooOneEntityHessian2Bytes = serializer.serialize(fooOneEntity);
String fooOneEntityHessian2Str = new String(fooOneEntityHessian2Bytes, 0, fooOneEntityHessian2Bytes.length);
log.info("fooOneEntityHessian2Str = {}", fooOneEntityHessian2Str);
// 解码deserialize
FooOneEntity fooOneEntityResp = serializer.deserialize(fooOneEntityHessian2Bytes, FooOneEntity.class.getName());
log.info("fooOneEntityResp = {}", fooOneEntityResp);
}
@Data
@Builder
static class FooOneEntity implements Serializable {
private Integer id;
private String name;
}
}