前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天20分支之java grpc的metadata

每天20分支之java grpc的metadata

原创
作者头像
李子健
发布2022-09-25 20:07:44
7820
发布2022-09-25 20:07:44
举报
文章被收录于专栏:每日一善每日一善

client 的配置

代码语言:txt
复制
@Slf4j
@Service
public class Log3Interceptor  implements ClientInterceptor {
    @Override
    public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel channel) {

        return new ForwardingClientCall.SimpleForwardingClientCall<ReqT, RespT>(channel.newCall(method, callOptions)) {
            @Override
            public void start(Listener<RespT> responseListener, Metadata headers) {
                headers.put(Metadata.Key.of("META1", ASCII_STRING_MARSHALLER), "meta11111111");
                log.info("headers:{}", headers);
                super.start(responseListener, headers);
            }
        };
    }
}

server的配置

代码语言:txt
复制
@GrpcGlobalServerInterceptor
@Component
@Slf4j
public class MDInterceptor implements io.grpc.ServerInterceptor {


    @Override
    public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(ServerCall<ReqT, RespT> call, Metadata metadata, ServerCallHandler<ReqT, RespT> next) {

        String retMd = metadata.get(Metadata.Key.of("META1", ASCII_STRING_MARSHALLER));
        log.info("Metadata Retrived : " + retMd);
        return next.startCall(call, metadata);
    }
}

代码: https://github.com/beckbikang/kgrpc/blob/main/README.md

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档