1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.startup.healthcheck;
21
22 import java.util.Properties;
23
24 import org.neo4j.server.logging.Logger;
25
26
27 public class StartupHealthCheck {
28 public static final Logger log = Logger.getLogger(StartupHealthCheck.class);
29
30 private final StartupHealthCheckRule[] rules;
31
32 private StartupHealthCheckRule failedRule = null;
33
34 public StartupHealthCheck(StartupHealthCheckRule ... rules) {
35 this.rules = rules;
36 }
37
38 public boolean run() {
39 if(rules == null || rules.length < 1) {
40 return true;
41 }
42
43 Properties properties = System.getProperties();
44 for(StartupHealthCheckRule r : rules) {
45 if(!r.execute(properties)) {
46 log.error(r.getFailureMessage());
47 failedRule = r;
48 return false;
49 }
50 }
51
52 return true;
53 }
54
55 public StartupHealthCheckRule failedRule() {
56 return failedRule;
57 }
58 }