gRPC-Java 1.14.0 发布了,gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,而 gRPC-Java 是其 Java 版本实现。1.14.0 版本将是支持 Java 6 的最后一个版本。Android API 14 级支持将保持不变
更新内容如下:
Dependencies
- Updated to Netty 4.1.27 and Netty TCNative 2.0.12
- gRPC is now regularly tested with JDK 9 and 10
- Warning, a bug was discovered after this release where using Netty Epoll would increase memory usage. Please avoid this release of gRPC if you know you use Netty Epoll
API Changes
OkHttpChannelBuilder#negotiationType
is now deprecated- Made protobuf, protobuf-lite, and protobuf-nano classes final.
New Features
- Channel Tracing now record State Changes
- Stubs now have an
RpcMethod
annotation for use with annotation processors - Added support for providing
List<EquivalentAddressGroup>
to LoadBalancer Subchannels, in addition to the option of providing aEquivalentAddressGroup
(EAG). This prevents the need forLoadBalancer
s to “flatten” aList<EquivalentAddressGroup>
into a singleEquivalentAddressGroup
which loses/confuses the EAG’sAttributes
.NameResolver
s can now specifyAttributes
in an EAG and expect that the values are passed to gRPC’s core. Future work will addList<EAG>
forOobChannel
s. - InProcessSocketAddress now has a useful
toString()
method - AndroidChannelBuilder is now easier to build
- RoundRobinLoadBalancer now scales better when using stickiness
Behavior Changes
- gRPCLB no longer depends on having a Service Config
Bug Fixes
- Fix regression that broke Java 9 ALPN support. This fixes the error “SunJSSE selected, but Jetty NPN/ALPN unavailable” (#4620)
- Fixed a bug with gRPC LB parsing SRV DNS records ( 6dbe392 )
enterIdle()
will exit idle mode if channel is still in use (#4665)TransmitStatusRuntimeExceptionInterceptor
now avoids accidentally double closing the call.
详情见发布公告。
下载地址:
转自 https://www.oschina.net/news/98554/grpc-java-1-14-0-released