package fr.openwide.core.showcase.core.business.task.model; import java.util.Date; import fr.openwide.core.commons.util.report.BatchReport; import fr.openwide.core.jpa.more.business.task.model.AbstractTask; import fr.openwide.core.jpa.more.business.task.model.IQueueId; import fr.openwide.core.jpa.more.business.task.model.TaskExecutionResult; public class FailedTask extends AbstractTask { private static final long serialVersionUID = 5633587943863303524L; private ShowcaseTaskQueueId queueId; protected FailedTask() { } public FailedTask(ShowcaseTaskQueueId queueId) { super(FailedTask.class.getSimpleName(), TaskTypeEnum.FAILED.getTaskType(), new Date()); this.queueId = queueId; } @Override public IQueueId selectQueue() { return queueId; } @Override protected TaskExecutionResult doTask() throws Exception { BatchReport batchReport = new BatchReport(); batchReport.info("Task execution info."); throw new Exception("Unexpected technical exception from a FailedTask."); // Rest of the task... } }