public GrpcStartable()

in alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/GrpcStartable.java [64:86]


  public GrpcStartable(GrpcServerConfig serverConfig, EventBus eventBus, BindableService... services) throws IOException {
    this.serverConfig = serverConfig;
    this.eventBus = eventBus;
    ServerBuilder<?> serverBuilder;
    try {
      OptionalInt unusedPort = findUnusedPort(serverConfig);
      if(unusedPort.isPresent()){
        serverBuilder = getServerBuilder(unusedPort.getAsInt());
        if (serverConfig.isSslEnable()){
          try {
            ((NettyServerBuilder) serverBuilder).sslContext(getSslContextBuilder(serverConfig).build());
          } catch (SSLException e) {
            throw new IllegalStateException("Unable to setup grpc to use SSL.", e);
          }
        }
        Arrays.stream(services).forEach(serverBuilder::addService);
        server = serverBuilder.build();
        serverConfig.setPort(unusedPort.getAsInt());
      }
    } catch (IOException e) {
      throw e;
    }
  }