--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/TaskManager.java 2016/02/05 11:01:48 2927 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/TaskManager.java 2016/02/05 11:09:02 2928 @@ -56,12 +56,19 @@ } public synchronized void removeTask(Task removeTask) { - if (removeTask.state == TaskState.STATE_ABORTED || removeTask.state == TaskState.STATE_DONE) { + if (removeTask.state == TaskState.STATE_QUEUED) { + removeTask.doAbort(); + } + + if (removeTask.state == TaskState.STATE_ABORTED || removeTask.state == TaskState.STATE_DONE || removeTask.state == TaskState.STATE_QUEUED) { taskIdMap.remove( removeTask.getId() ); tasks.remove(removeTask); - } else { - throw new RuntimeException("Cant remove task in current state:" + removeTask.state); + return; } + + + throw new RuntimeException("Cant remove task in current state:" + removeTask.state); + } public synchronized void submitTask(Task newTask) {