From: Konsta Pozdeev Date: Wed, 28 Dec 2016 07:44:09 +0000 (+0200) Subject: Fix for monitor exception X-Git-Tag: release/carbon~49 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=467c980a543cdff00fc699e29f81c219b77d4d1c;p=unimgr.git Fix for monitor exception Change-Id: If9207cd400515c406969a945270c0f1ed24ceb2c Signed-off-by: Konsta Pozdeev --- diff --git a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/DataWaitListener.java b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/DataWaitListener.java index bd4e599e..ecce5e7e 100644 --- a/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/DataWaitListener.java +++ b/netvirt/src/main/java/org/opendaylight/unimgr/mef/netvirt/DataWaitListener.java @@ -26,7 +26,8 @@ public class DataWaitListener extends UnimgrDataTreeChange private static final Logger Log = LoggerFactory.getLogger(DataWaitListener.class); InstanceIdentifier objectIdentifierId; private ListenerRegistration dataWaitListenerRegistration; - Boolean dataAvailable = false; + private Boolean dataAvailable = false; + private final Object lockDataAvailable = new Object(); private int maxRetries; LogicalDatastoreType logicalDatastoreType; DataWaitGetter getData; @@ -65,8 +66,8 @@ public class DataWaitListener extends UnimgrDataTreeChange if (newDataObject.getRootPath() != null && newDataObject.getRootNode() != null) { Log.info("data {} created", newDataObject.getRootNode().getIdentifier()); } - synchronized (dataAvailable) { - dataAvailable.notifyAll(); + synchronized (lockDataAvailable) { + lockDataAvailable.notifyAll(); } } @@ -79,8 +80,8 @@ public class DataWaitListener extends UnimgrDataTreeChange if (modifiedDataObject.getRootPath() != null && modifiedDataObject.getRootNode() != null) { Log.info("data {} updated", modifiedDataObject.getRootNode().getIdentifier()); } - synchronized (dataAvailable) { - dataAvailable.notifyAll(); + synchronized (lockDataAvailable) { + lockDataAvailable.notifyAll(); } } @@ -105,7 +106,7 @@ public class DataWaitListener extends UnimgrDataTreeChange } public boolean waitForData(int retry) { - synchronized (dataAvailable) { + synchronized (lockDataAvailable) { dataAvailable = dataAvailable(); if (dataAvailable == true) { return true; @@ -113,7 +114,7 @@ public class DataWaitListener extends UnimgrDataTreeChange return false; } try { - dataAvailable.wait(waitMillisec); + lockDataAvailable.wait(waitMillisec); } catch (InterruptedException e1) { } }