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;
}
}