This needs to be done because calling parties may rely on getting the
callback.
refs #7220
Change-Id: Ie81c20da8da9d734afe7f98cf1117176b2f2dc9d
(cherry picked from commit
51239a7b24d812eec59b7f635ed0cfd9d116a268)
import java.util.concurrent.atomic.AtomicInteger;
import org.simantics.db.service.ServiceActivityMonitor;
import java.util.concurrent.atomic.AtomicInteger;
import org.simantics.db.service.ServiceActivityMonitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import gnu.trove.map.TObjectIntMap;
import gnu.trove.map.hash.TObjectIntHashMap;
public class ServiceActivityMonitorImpl implements ServiceActivityMonitor {
import gnu.trove.map.TObjectIntMap;
import gnu.trove.map.hash.TObjectIntHashMap;
public class ServiceActivityMonitorImpl implements ServiceActivityMonitor {
+ private static final Logger LOGGER = LoggerFactory.getLogger(ServiceActivityMonitorImpl.class);
+
public static final long REPORTING_PERIOD = 5L;
Semaphore sem = new Semaphore(1);
public static final long REPORTING_PERIOD = 5L;
Semaphore sem = new Semaphore(1);
if(waitForCompletion(REPORTING_PERIOD, TimeUnit.SECONDS))
return;
synchronized (ids) {
if(waitForCompletion(REPORTING_PERIOD, TimeUnit.SECONDS))
return;
synchronized (ids) {
- System.err.println("ServiceActivityMonitorImpl.waitForCompletion: " + ids);
- }
+ LOGGER.info("waitForCompletion: " + ids);
+ }
protected IStatus run(final IProgressMonitor monitor) {
try {
experiment.shutdown(monitor);
protected IStatus run(final IProgressMonitor monitor) {
try {
experiment.shutdown(monitor);
- if (callback != null)
- callback.accept(null);
return Status.OK_STATUS;
} finally {
monitor.done();
return Status.OK_STATUS;
} finally {
monitor.done();
+ if (callback != null)
+ callback.accept(null);
}
}
};
job.setProperty(IProgressConstants2.SHOW_IN_TASKBAR_ICON_PROPERTY, Boolean.TRUE);
job.setUser(true);
job.schedule();
}
}
};
job.setProperty(IProgressConstants2.SHOW_IN_TASKBAR_ICON_PROPERTY, Boolean.TRUE);
job.setUser(true);
job.schedule();
+ } else {
+ callback.accept(null);