Repository: brooklyn-server Updated Branches: refs/heads/master 3ad955999 -> d3cc05026
Fix NPE in forcePersistNow Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/8163d02b Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/8163d02b Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/8163d02b Branch: refs/heads/master Commit: 8163d02b02c48a3449891480c8f203fef606bb83 Parents: 9fb4193 Author: Andrew Donald Kennedy <[email protected]> Authored: Wed Apr 20 10:00:50 2016 +0100 Committer: Andrew Donald Kennedy <[email protected]> Committed: Wed Apr 20 11:31:37 2016 +0100 ---------------------------------------------------------------------- .../brooklyn/core/mgmt/rebind/RebindManagerImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/8163d02b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java index 5525981..48365d4 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindManagerImpl.java @@ -435,17 +435,23 @@ public class RebindManagerImpl implements RebindManager { persistenceRealChangeListener.waitForPendingComplete(timeout, canTrigger); persistenceStoreAccess.waitForWritesCompleted(timeout); } + @Override @VisibleForTesting public void forcePersistNow() { forcePersistNow(false, null); } + @Override @VisibleForTesting public void forcePersistNow(boolean full, PersistenceExceptionHandler exceptionHandler) { + if (persistenceStoreAccess == null || persistenceRealChangeListener == null) { + LOG.info("Skipping forced persist; no persistence mechanism available"); + return; + } if (full) { BrooklynMementoRawData memento = BrooklynPersistenceUtils.newStateMemento(managementContext, MementoCopyMode.LOCAL); - if (exceptionHandler==null) { + if (exceptionHandler == null) { exceptionHandler = persistenceRealChangeListener.getExceptionHandler(); } persistenceStoreAccess.checkpoint(memento, exceptionHandler); @@ -455,7 +461,7 @@ public class RebindManagerImpl implements RebindManager { } } } - + @Override public ChangeListener getChangeListener() { return persistencePublicChangeListener;
