|
@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -96,26 +97,23 @@ public class AsyncScheduleServiceImpl extends BaseService implements AsyncSchedu
|
|
|
@Override
|
|
|
public boolean retryJob(AsyncJobTool tool, String sessionId, String jobId, Class<? extends AsyncTaskCallBack> callBackClass) {
|
|
|
AsyncTaskDTO task = asyncTaskService.getAsyncTask(sessionId);
|
|
|
- AsyncJobDTO oldJob = task.getJobs().stream().filter(ajob -> ajob.getJobId().equals(jobId)).findFirst().get();
|
|
|
+ AsyncJobDTO job = task.getJobs().stream().filter(ajob -> ajob.getJobId().equals(jobId)).findFirst().get();
|
|
|
+
|
|
|
AsyncTaskDTO asyncTaskDTO = new AsyncTaskDTO();
|
|
|
- List<AsyncJobDTO> jobs = new ArrayList<>();
|
|
|
- AsyncJobDTO job = new AsyncJobDTO();
|
|
|
- job.setParams(oldJob.getParams());
|
|
|
- job.setContexts(oldJob.getContexts());
|
|
|
- job.setJobId(jobId);
|
|
|
- jobs.add(job);
|
|
|
asyncTaskDTO.setQueueName(RabbitMQConfiguration.JOB_RESULT_QUEUE);
|
|
|
asyncTaskDTO.setToolName(tool.getName());
|
|
|
asyncTaskDTO.setType(tool.getIndex());
|
|
|
- asyncTaskDTO.setJobs(jobs);
|
|
|
+ asyncTaskDTO.setJobs(Arrays.asList(job));
|
|
|
asyncTaskDTO.setSessionId(sessionId);
|
|
|
|
|
|
RestTemplate rt = new RestTemplate();
|
|
|
HttpEntity<AsyncTaskDTO> httpEntity = new HttpEntity<>(asyncTaskDTO, getHeader());
|
|
|
String url = generateUrl("retry");
|
|
|
AsyncJobStatus jobStatus = rt.postForObject(url,httpEntity,AsyncJobStatus.class);
|
|
|
+ String newJobId = jobStatus.getJobId();
|
|
|
|
|
|
- asyncTaskService.retryJob(jobId,jobStatus.getJobId(),task);
|
|
|
+ asyncTaskService.retryJob(jobId,newJobId,task);
|
|
|
+ job.setJobId(newJobId);
|
|
|
putContextAndCallback2Cache(asyncTaskDTO, callBackClass);
|
|
|
return true;
|
|
|
}
|