You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by du...@apache.org on 2019/03/21 12:59:56 UTC
svn commit: r1855983 -
/felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/SystemReadyMonitorImpl.java
Author: dulvac
Date: Thu Mar 21 12:59:56 2019
New Revision: 1855983
URL: http://svn.apache.org/viewvc?rev=1855983&view=rev
Log:
FELIX-6083 NPE running systemready
Modified:
felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/SystemReadyMonitorImpl.java
Modified: felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/SystemReadyMonitorImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/SystemReadyMonitorImpl.java?rev=1855983&r1=1855982&r2=1855983&view=diff
==============================================================================
--- felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/SystemReadyMonitorImpl.java (original)
+++ felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/SystemReadyMonitorImpl.java Thu Mar 21 12:59:56 2019
@@ -111,17 +111,21 @@ public class SystemReadyMonitorImpl impl
}
private void check() {
- CheckStatus.State prevState = getStatus(StateType.READY).getState();
- List<SystemReadyCheck> currentChecks = new ArrayList<>(checks);
- List<String> checkNames = currentChecks.stream().map(check -> check.getName()).collect(Collectors.toList());
- log.debug("Running system checks {}", checkNames);
- List<CheckStatus> statuses = evaluateAllChecks(currentChecks);
- this.curStates.set(statuses);
- State currState = getStatus(StateType.READY).getState();
- if (currState != prevState) {
- manageMarkerService(currState);
+ try {
+ CheckStatus.State prevState = getStatus(StateType.READY).getState();
+ List<SystemReadyCheck> currentChecks = new ArrayList<>(checks);
+ List<String> checkNames = currentChecks.stream().map(check -> check.getName()).collect(Collectors.toList());
+ log.debug("Running system checks {}", checkNames);
+ List<CheckStatus> statuses = evaluateAllChecks(currentChecks);
+ this.curStates.set(statuses);
+ State currState = getStatus(StateType.READY).getState();
+ if (currState != prevState) {
+ manageMarkerService(currState);
+ }
+ log.debug("Checks finished");
+ } catch (Exception e) {
+ log.warn("Exception when running checks", e);
}
- log.debug("Checks finished");
}
private List<CheckStatus> evaluateAllChecks(List<SystemReadyCheck> currentChecks) {
@@ -136,7 +140,7 @@ public class SystemReadyMonitorImpl impl
SystemReady readyService = new SystemReady() {
};
sreg = context.registerService(SystemReady.class, readyService, null);
- } else {
+ } else if (sreg != null) {
sreg.unregister();
}
}