Java Code Examples for org.eclipse.microprofile.health.HealthCheckResponse#named()

The following examples show how to use org.eclipse.microprofile.health.HealthCheckResponse#named() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DBHealthCheck.java    From boost with Eclipse Public License 1.0 7 votes vote down vote up
@Override
public HealthCheckResponse call() {

    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("membership");
    try {
        Connection connection = datasource.getConnection();
        boolean isValid = connection.isValid(5);

        DatabaseMetaData metaData = connection.getMetaData();

        responseBuilder = responseBuilder
                    .withData("databaseProductName", metaData.getDatabaseProductName())
                    .withData("databaseProductVersion", metaData.getDatabaseProductVersion())
                    .withData("driverName", metaData.getDriverName())
                    .withData("driverVersion", metaData.getDriverVersion())
                    .withData("isValid", isValid);

        return responseBuilder.state(isValid).build();


    } catch(SQLException  e) {
        responseBuilder = responseBuilder
               .withData("exceptionMessage", e.getMessage());
        return responseBuilder.down().build();
    }
}
 
Example 2
Source File: SocketHealthCheck.java    From smallrye-health with Apache License 2.0 6 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder healthCheckResponseBuilder = HealthCheckResponse
            .named(name);
    healthCheckResponseBuilder.withData("host", String.format("%s:%d", this.host, this.port));
    try (Socket s = new Socket()) {
        final SocketAddress socketAddress = new InetSocketAddress(host, port);
        s.connect(socketAddress, timeout);
        healthCheckResponseBuilder.up();
    } catch (IOException ex) {
        HealthChecksLogging.log.socketHealthCheckError(ex);

        healthCheckResponseBuilder.withData("error", ex.getMessage());
        healthCheckResponseBuilder.down();
    }
    return healthCheckResponseBuilder.build();
}
 
Example 3
Source File: LivenessProbe.java    From trader with Apache License 2.0 6 votes vote down vote up
public HealthCheckResponse call() {
	HealthCheckResponse response = null;
	String message = "Live";
	try {
		HealthCheckResponseBuilder builder = HealthCheckResponse.named("Trader");

		if (Summary.error) { //can't run without these env vars
			builder = builder.down();
			message = Summary.message;
			logger.warning("Returning NOT live!");
		} else {
			builder = builder.up();
			logger.fine("Returning live!");
		}

		builder = builder.withData("message", message);

		response = builder.build(); 
	} catch (Throwable t) {
		logger.warning("Exception occurred during health check: "+t.getMessage());
		logException(t);
		throw t;
	}

	return response;
}
 
Example 4
Source File: DBHealthCheck.java    From microprofile-sandbox with Apache License 2.0 6 votes vote down vote up
@Override
public HealthCheckResponse call() {

    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("membership");
    try {
        Connection connection = datasource.getConnection();
        boolean isValid = connection.isValid(5);

        DatabaseMetaData metaData = connection.getMetaData();

        responseBuilder = responseBuilder
                    .withData("databaseProductName", metaData.getDatabaseProductName())
                    .withData("databaseProductVersion", metaData.getDatabaseProductVersion())
                    .withData("driverName", metaData.getDriverName())
                    .withData("driverVersion", metaData.getDriverVersion())
                    .withData("isValid", isValid);

        return responseBuilder.state(isValid).build();


    } catch(SQLException  e) {
        responseBuilder = responseBuilder
               .withData("exceptionMessage", e.getMessage());
        return responseBuilder.down().build();
    }
}
 
Example 5
Source File: DatabaseConnectionHealthCheck.java    From quarkus-quickstarts with Apache License 2.0 6 votes vote down vote up
@Override
public HealthCheckResponse call() {

    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("Database connection health check");

    try {
        simulateDatabaseConnectionVerification();
        responseBuilder.up();
    } catch (IllegalStateException e) {
        // cannot access the database
        responseBuilder.down()
                .withData("error", e.getMessage()); // pass the exception message
    }

    return responseBuilder.build();
}
 
Example 6
Source File: ReadinessProbe.java    From trader with Apache License 2.0 6 votes vote down vote up
public HealthCheckResponse call() {
	HealthCheckResponse response = null;
	String message = "Ready";
	try {
		HealthCheckResponseBuilder builder = HealthCheckResponse.named("Trader");

		if ((jwtAudience==null) || (jwtIssuer==null)) { //can't run without these env vars
			builder = builder.down();
			message = "JWT environment variables not set!";
			logger.warning("Returning NOT ready!");
		} else {
			builder = builder.up();
			logger.fine("Returning ready!");
		}

		builder = builder.withData("message", message);

		response = builder.build(); 
	} catch (Throwable t) {
		logger.warning("Exception occurred during health check: "+t.getMessage());
		logException(t);
		throw t;
	}

	return response;
}
 
Example 7
Source File: InetAddressHealthCheck.java    From smallrye-health with Apache License 2.0 6 votes vote down vote up
@Override
public HealthCheckResponse call() {
    final HealthCheckResponseBuilder healthCheckResponseBuilder = HealthCheckResponse.named(this.name);
    healthCheckResponseBuilder.withData("host", this.host);
    try {
        InetAddress addr = InetAddress.getByName(this.host);
        final boolean reachable = addr.isReachable(this.timeout);
        if (!reachable) {
            healthCheckResponseBuilder.withData("error", String.format("Host %s not reachable.", this.host));
        }

        healthCheckResponseBuilder.state(reachable);
    } catch (IOException e) {
        HealthChecksLogging.log.inetAddressHealthCheckError(e);

        healthCheckResponseBuilder.withData("error", e.getMessage());
        healthCheckResponseBuilder.down();
    }

    return healthCheckResponseBuilder.build();
}
 
Example 8
Source File: DatabaseConnectionHealthCheck.java    From intellij-quarkus with Eclipse Public License 2.0 6 votes vote down vote up
@Override
public HealthCheckResponse call() {

    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("Database connection health check");

    try {
        simulateDatabaseConnectionVerification();
        responseBuilder.up();
    } catch (IllegalStateException e) {
        // cannot access the database
        responseBuilder.down()
            .withData("error", e.getMessage()); // pass the exception message
    }

    return responseBuilder.build();
}
 
Example 9
Source File: DatabaseConnectionHealthCheck.java    From intellij-quarkus with Eclipse Public License 2.0 6 votes vote down vote up
@Override
public HealthCheckResponse call() {

    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("Database connection health check");

    try {
        simulateDatabaseConnectionVerification();
        responseBuilder.up();
    } catch (IllegalStateException e) {
        // cannot access the database
        responseBuilder.down()
            .withData("error", e.getMessage()); // pass the exception message
    }

    return responseBuilder.build();
}
 
Example 10
Source File: ReadinessHealthCheck.java    From Hands-On-Cloud-Native-Applications-with-Java-and-Quarkus with MIT License 6 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("File system Readiness check");


    boolean tempFileExists = Files.exists(Paths.get("/tmp/tmp.lck"));
    if (!tempFileExists) {
        responseBuilder.up();
    }
    else {
        responseBuilder.down()
                .withData("error", "Lock file detected!");
    }

    return responseBuilder.build();
}
 
Example 11
Source File: DBHealthCheck.java    From Hands-On-Cloud-Native-Applications-with-Java-and-Quarkus with MIT License 6 votes vote down vote up
@Override
public HealthCheckResponse call() {

    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("Database connection health check");

    try {
        serverListening(host,port);
        responseBuilder.up();
    } catch (Exception e) {
        // cannot access the database
        responseBuilder.down()
                .withData("error", e.getMessage());
    }

    return responseBuilder.build();
}
 
Example 12
Source File: CamelUptimeHealthCheck.java    From camel-quarkus with Apache License 2.0 5 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder builder = HealthCheckResponse.named("Uptime readiness check");

    if (camelContext.getUptimeMillis() > 0) {
        builder.up();
    } else {
        builder.down();
    }

    return builder.build();
}
 
Example 13
Source File: VaultHealthCheck.java    From quarkus with Apache License 2.0 5 votes vote down vote up
@Override
public HealthCheckResponse call() {

    final HealthCheckResponseBuilder builder = HealthCheckResponse.named("Vault connection health check");

    try {
        final VaultHealth vaultHealth = this.vaultSystemBackendEngine.health();

        if (vaultHealth.isInitializedUnsealedActive()) {
            builder.up();
        }

        if (vaultHealth.isUnsealedStandby()) {
            builder.down().withData("reason", "Unsealed and Standby");
        }

        if (vaultHealth.isRecoveryReplicationSecondary()) {
            builder.down().withData("reason", "Disaster recovery mode replication secondary and active");
        }

        if (vaultHealth.isPerformanceStandby()) {
            builder.down().withData("reason", "Performance standby");
        }

        if (vaultHealth.isNotInitialized()) {
            builder.down().withData("reason", "Not initialized");
        }

        if (vaultHealth.isSealed()) {
            builder.down().withData("reason", "Sealed");
        }

        return builder.build();

    } catch (Exception e) {
        return builder.down().withData("reason", e.getMessage()).build();
    }
}
 
Example 14
Source File: ConnectionFactoryHealthCheck.java    From quarkus with Apache License 2.0 5 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder builder = HealthCheckResponse.named("Artemis JMS health check");
    try (Connection connection = connectionFactory.createConnection()) {
        builder.up();
    } catch (Exception e) {
        builder.down();
    }
    return builder.build();
}
 
Example 15
Source File: ServerLocatorHealthCheck.java    From quarkus with Apache License 2.0 5 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder builder = HealthCheckResponse.named("Artemis Core health check");
    try (ClientSessionFactory factory = serverLocator.createSessionFactory()) {
        builder.up();
    } catch (Exception e) {
        builder.down();
    }
    return builder.build();
}
 
Example 16
Source File: KafkaStreamsStateHealthCheck.java    From quarkus with Apache License 2.0 5 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("Kafka Streams state health check");
    try {
        KafkaStreams.State state = manager.getStreams().state();
        responseBuilder.state(state.isRunningOrRebalancing())
                .withData("state", state.name());
    } catch (Exception e) {
        responseBuilder.down().withData("technical_error", e.getMessage());
    }
    return responseBuilder.build();
}
 
Example 17
Source File: WeatherServiceHealthCheck.java    From tomee with Apache License 2.0 5 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder responseBuilder = HealthCheckResponse.named("OpenWeatherMap");
    try {
        WeatherApiStatus status = weatherGateway.getApiStatus();
        return responseBuilder.withData("weatherServiceApiUrl", status.getUrl())
                .withData("weatherServiceApiVersion", status.getVersion())
                .withData("weatherServiceMessage", status.getMessage())
                .up().build();
    } catch (WeatherException e) {
        return responseBuilder.withData("weatherServiceErrorMessage", e.getMessage()).down().build();
    }
}
 
Example 18
Source File: CheckDiskspace.java    From Hands-On-Enterprise-Java-Microservices-with-Eclipse-MicroProfile with MIT License 4 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder builder = HealthCheckResponse.named("diskspace");
    checkDiskspace(builder);
    return builder.build();
}
 
Example 19
Source File: KeycloakHealthCheck.java    From Hands-On-Enterprise-Java-Microservices-with-Eclipse-MicroProfile with MIT License 4 votes vote down vote up
@Override
public HealthCheckResponse call() {
    HealthCheckResponseBuilder builder = HealthCheckResponse.named("keycloak");
    checkKeycloakRealm(builder);
    return builder.build();
}
 
Example 20
Source File: KeycloakHealthChecks.java    From keycloak-extension-playground with Apache License 2.0 3 votes vote down vote up
@Produces
@Readiness
HealthCheck databaseCheck() {

    HealthCheckResponseBuilder databaseHealth = HealthCheckResponse.named("keycloak:database");

    boolean databaseReady = isDatabaseReady();

    return () -> (databaseReady ? databaseHealth.up() : databaseHealth.down()).build();
}