Skip to content

Commit 8d3d903

Browse files
committed
Set context class loader for health check execution
Signed-off-by: Thiago Henrique Hüpner <[email protected]>
1 parent c38df5b commit 8d3d903

File tree

1 file changed

+4
-0
lines changed
  • appserver/microprofile/health/src/main/java/org/glassfish/microprofile/health

1 file changed

+4
-0
lines changed

appserver/microprofile/health/src/main/java/org/glassfish/microprofile/health/HealthReporter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,15 @@ public class HealthReporter {
4141
private final Map<String, List<HealthCheckInfo>> applicationHealthChecks = new ConcurrentHashMap<>();
4242

4343
private static HealthCheckResponse callHealthCheck(HealthCheck healthCheck) {
44+
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
4445
try {
46+
Thread.currentThread().setContextClassLoader(healthCheck.getClass().getClassLoader());
4547
return healthCheck.call();
4648
} catch (RuntimeException e) {
4749
LOGGER.log(Level.SEVERE, "Health check failed", e);
4850
return buildHealthCheckResponse(healthCheck.getClass().getName(), e);
51+
} finally {
52+
Thread.currentThread().setContextClassLoader(contextClassLoader);
4953
}
5054
}
5155

0 commit comments

Comments
 (0)