一个 gRPC 服务器可以 运行 多个相同的 class 服务吗?

Could one gRPC server run multiple same class of service?

考虑以下代码

Server server = ServerBuilder.forPort(8080)
    .addService(new AServiceImpl(argA))
    .addService(new AServiceImpl(argB))
    .build();

我希望此服务器 运行 两个 AService 具有不同的参数,argAargB,这可能吗?

如果可能,当 AStub 调用该方法时,它会调用哪个服务实例?

我相信这是不可能的,因为每个服务都添加到一个地图,

// Store per-service first, to make sure services are added/replaced atomically.
private final HashMap<String, ServerServiceDefinition> services =
    new LinkedHashMap<>();

按名字,

Builder addService(ServerServiceDefinition service) {
  services.put(service.getServiceDescriptor().getName(), service);
  return this;
}

因此 new AServiceImpl(argB) 将覆盖另一个。