private static final Logger Log = LoggerFactory.getLogger(DataWaitListener.class);
InstanceIdentifier<D> objectIdentifierId;
private ListenerRegistration<DataWaitListener> dataWaitListenerRegistration;
- Boolean dataAvailable = false;
+ private Boolean dataAvailable = false;
+ private final Object lockDataAvailable = new Object();
private int maxRetries;
LogicalDatastoreType logicalDatastoreType;
DataWaitGetter<D> getData;
if (newDataObject.getRootPath() != null && newDataObject.getRootNode() != null) {
Log.info("data {} created", newDataObject.getRootNode().getIdentifier());
}
- synchronized (dataAvailable) {
- dataAvailable.notifyAll();
+ synchronized (lockDataAvailable) {
+ lockDataAvailable.notifyAll();
}
}
if (modifiedDataObject.getRootPath() != null && modifiedDataObject.getRootNode() != null) {
Log.info("data {} updated", modifiedDataObject.getRootNode().getIdentifier());
}
- synchronized (dataAvailable) {
- dataAvailable.notifyAll();
+ synchronized (lockDataAvailable) {
+ lockDataAvailable.notifyAll();
}
}
}
public boolean waitForData(int retry) {
- synchronized (dataAvailable) {
+ synchronized (lockDataAvailable) {
dataAvailable = dataAvailable();
if (dataAvailable == true) {
return true;
return false;
}
try {
- dataAvailable.wait(waitMillisec);
+ lockDataAvailable.wait(waitMillisec);
} catch (InterruptedException e1) {
}
}