{
return;
}
- if (!isRestartable())
+ if (!isRegistered())
{
setEnabled(false);
}
submit();
}
- protected boolean isRestartable()
+ protected boolean isRegistered()
{
return registered.containsKey(getWorker());
}
getWorker().getClass().getName()), th);
} finally
{
- if (!isRestartable())
+ if (!isRegistered())
{
// delete worker reference so garbage collector can remove it
worker = null;
if (completed)
{
final var worker = getWorker();
- if (!isRestartable())
+ if (!isRegistered())
PollableWorkerManager.super.worker = null;
Cache.log.debug(format("Finalizing completed worker %s",
worker.getClass().getName()));
task.cancel(false);
executor.submit(() -> {
final var worker = getWorker();
- if (!isRestartable())
+ if (!isRegistered())
PollableWorkerManager.super.worker = null;
if (worker != null)
{
@Override
public void removeWorker(AlignCalcWorkerI worker)
{
- registered.remove(worker);
+ if (worker.isDeletable())
+ {
+ registered.remove(worker);
+ }
}
@Override
{
for (var worker : getWorkers())
{
- if (worker.involves(annot) && worker.isDeletable())
+ if (worker.involves(annot))
{
removeWorker(worker);
}