Skip to content

Commit a621fa3

Browse files
committed
Added health checks
1 parent 837340c commit a621fa3

2 files changed

Lines changed: 21 additions & 3 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.stubbornjava.common;
2+
3+
import com.codahale.metrics.health.HealthCheckRegistry;
4+
5+
public class HealthChecks {
6+
private HealthChecks() {}
7+
8+
private static final HealthCheckRegistry healthCheckRegistry;
9+
static {
10+
healthCheckRegistry = new HealthCheckRegistry();
11+
}
12+
13+
public static HealthCheckRegistry getHealthCheckRegistry() {
14+
return healthCheckRegistry;
15+
}
16+
}

stubbornjava-examples/src/main/java/com/stubbornjava/examples/hikaricp/ConnectionPools.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.slf4j.LoggerFactory;
77

88
import com.stubbornjava.common.Configs;
9+
import com.stubbornjava.common.HealthChecks;
910
import com.stubbornjava.common.Metrics;
1011
import com.stubbornjava.common.db.ConnectionPool;
1112
import com.typesafe.config.Config;
@@ -25,7 +26,7 @@ public class ConnectionPools {
2526
* Using enum singleton pattern for lazy singletons
2627
*/
2728
private enum Transactional {
28-
INSTANCE(ConnectionPool.getDataSourceFromConfig(conf.getConfig("pools.transactional"), Metrics.registry(), null));
29+
INSTANCE(ConnectionPool.getDataSourceFromConfig(conf.getConfig("pools.transactional"), Metrics.registry(), HealthChecks.getHealthCheckRegistry()));
2930
private final DataSource dataSource;
3031
private Transactional(DataSource dataSource) {
3132
this.dataSource = dataSource;
@@ -53,7 +54,7 @@ public static DataSource getTransactional() {
5354
* run while the other pool is backed up.
5455
*/
5556
private enum Processing {
56-
INSTANCE(ConnectionPool.getDataSourceFromConfig(conf.getConfig("pools.processing"), Metrics.registry(), null));
57+
INSTANCE(ConnectionPool.getDataSourceFromConfig(conf.getConfig("pools.processing"), Metrics.registry(), HealthChecks.getHealthCheckRegistry()));
5758
private final DataSource dataSource;
5859
private Processing(DataSource dataSource) {
5960
this.dataSource = dataSource;
@@ -69,9 +70,10 @@ public static DataSource getProcessing() {
6970

7071
public static void main(String[] args) {
7172
logger.debug("starting");
73+
DataSource processing = ConnectionPools.getProcessing();
74+
logger.debug("processing started");
7275
DataSource transactional = ConnectionPools.getTransactional();
7376
logger.debug("transactional started");
74-
DataSource processing = ConnectionPools.getProcessing();
7577
logger.debug("done");
7678
}
7779
}

0 commit comments

Comments
 (0)