in alpha/alpha-spring-cloud-starter-eureka/src/main/java/org/apache/servicecomb/pack/alpha/server/discovery/eureka/GrpcStartableStartedEventListener.java [65:74]
public void listenGrpcStartableStartedEvent(GrpcStartableStartedEvent grpcStartableStartedEvent) {
if(eurekaInstanceConfigBean!=null && this.eurekaInstanceConfigBean.getMetadataMap().containsKey(ALPHA_SERVER_GRPC_ADDRESS_KEY)){
String grpcAddressValue = this.eurekaInstanceConfigBean.getMetadataMap().get(ALPHA_SERVER_GRPC_ADDRESS_KEY);
if(grpcAddressValue!=null && grpcAddressValue.endsWith(":0")){
grpcAddressValue = grpcAddressValue.replace(":0",":"+grpcStartableStartedEvent.getPort());
this.eurekaInstanceConfigBean.getMetadataMap().put(ALPHA_SERVER_GRPC_ADDRESS_KEY,grpcAddressValue);
LOG.info("Register grpc address {} to Eureka instance metadata",grpcAddressValue);
}
}
}