【发布时间】:2018-07-27 13:03:48
【问题描述】:
我正在使用 gRPC,我需要从 ServerInterceptor 获取请求的服务名称,但似乎不可能。
基本上来自 ServerInterceptor 的实现,我需要知道将被调用的 ServiceGrpc 的名称(作为字符串)。
public class PermissionInterceptor implements ServerInterceptor {
@Override
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(
ServerCall<ReqT, RespT> serverCall, Metadata metadata, ServerCallHandler<ReqT, RespT> handler
) {
// here I need the name of RPC service that has been requested
return handler.startCall(serverCall, metadata);
}
}
请注意,我已尝试使用 serverCall.getMethodDescriptor(),但它返回的是 proto 服务的名称,而不是 real 名称(java) 服务。
返回:
co.test.domain.transaction.TransactionService
但我需要这个:
co.test.domain.transaction.TransactionNeoBasicImpl
谢谢
【问题讨论】: