## What is the purpose of the change
Once we are going to extend the serialization, write direct to Hessian 
InputStream/OutputStream is high efficient on the memroy. 

## Brief changelog
Currently, the InputStream/OutputStream is not exported. The change is going to 
export the InputStream/OutputStream from Hessian2ObjectInput and 
Hessian2ObjectOutput.

```
private final Hessian2ObjectOutput delegate;

protected ProtobufObjectOutput(OutputStream os) {
  this.delegate = new Hessian2ObjectOutput(os);
}

void writeBytesForPBObject(Object obj, Class clazz) throws IOException {
  try (OutputStream os = delegate.getOutputStream()) {
    if (obj instanceof MessageLite) {
      try {
        ((MessageLite) obj).writeTo(os);
      } catch (IOException e) {
        throw new RuntimeException("Google PB序列化失败,序列化对象的类型为" + 
obj.getClass().getName(), e);
      }
    }
  }
}
```


Follow this checklist to help us incorporate your contribution quickly and 
easily:

- [x] Make sure there is a 
[GITHUB_issue](https://github.com/apache/dubbo/issues) field for the change 
(usually before you start working on it). Trivial changes like typos do not 
require a GITHUB issue. Your pull request should address just this issue, 
without pulling in other changes - one PR resolves one issue.
- [ ] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when 
host config not exist #XXX`. Each commit in the pull request should have a 
meaningful subject line and body.
- [ ] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
- [ ] Write necessary unit-test to verify your logic correction, more mock a 
little better when cross module dependency exist. If the new feature or 
significant change is committed, please remember to add sample in [dubbo 
samples](https://github.com/apache/dubbo-samples) project.
- [ ] Run `mvn clean install -DskipTests=false` & `mvn clean test-compile 
failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation 
Guide](https://github.com/apache/dubbo/wiki/Software-donation-guide).


[ Full content available at: https://github.com/apache/dubbo/pull/5780 ]
This message was relayed via gitbox.apache.org for 
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to