@Override public void run() { // Устанавливаем системные параметры запуска startTask(); // Выполняем задачу Map<String, Object> results = null; TaskResultStatus resultStatus; Throwable cause = null; try { results = performer.performTask(this, result.getParameters()); resultStatus = (isCancelled()) ? TaskResultStatus.CANCELED : TaskResultStatus.FINISHED; } catch (Throwable th) { resultStatus = TaskResultStatus.ERROR; cause = th; LOG.error( String.format( "Task '%s[%s]' error: %s", descriptor.getId(), performer.retrieveName(), cause.getMessage()), cause); } // Устанавливаем системные параметры завершения endTask(results, resultStatus, cause); }