in src/ad/src/main/java/oteldemo/AdService.java [76:114]
private void start() throws IOException {
int port =
Integer.parseInt(
Optional.ofNullable(System.getenv("AD_PORT"))
.orElseThrow(
() ->
new IllegalStateException(
"environment vars: AD_PORT must not be null")));
healthMgr = new HealthStatusManager();
// Create a flagd instance with OpenTelemetry
FlagdOptions options =
FlagdOptions.builder()
.withGlobalTelemetry(true)
.build();
FlagdProvider flagdProvider = new FlagdProvider(options);
// Set flagd as the OpenFeature Provider
OpenFeatureAPI.getInstance().setProvider(flagdProvider);
server =
ServerBuilder.forPort(port)
.addService(new AdServiceImpl())
.addService(healthMgr.getHealthService())
.build()
.start();
logger.info("Ad service started, listening on " + port);
Runtime.getRuntime()
.addShutdownHook(
new Thread(
() -> {
// Use stderr here since the logger may have been reset by its JVM shutdown hook.
System.err.println(
"*** shutting down gRPC ads server since JVM is shutting down");
AdService.this.stop();
System.err.println("*** server shut down");
}));
healthMgr.setStatus("", ServingStatus.SERVING);
}