/** * Устанавливает параметры завершения задачи * * @param results результат задачи * @param resultStatus статус завершения * @param exception исключения, которое произошло в процессе выполнения */ private void endTask( Map<String, Object> results, TaskResultStatus resultStatus, Throwable exception) { writeLock.lock(); try { result.setContent(results); result.setStatus(resultStatus); if (exception != null) { result.setErrorMessage( StringUtils.abbreviate(exception.getMessage(), TaskResult.ERROR_MESSAGE_MAX_SIZE - 3)); } result.setEndDate(new Date()); executionLock.countDown(); changeState(null, TaskExecutionStatus.READY); } finally { writeLock.unlock(); } }