diff --git a/job-client/src/main/java/com/lts/job/client/RetryJobClient.java b/job-client/src/main/java/com/lts/job/client/RetryJobClient.java index d9bb644d0..e4ca3d131 100644 --- a/job-client/src/main/java/com/lts/job/client/RetryJobClient.java +++ b/job-client/src/main/java/com/lts/job/client/RetryJobClient.java @@ -4,8 +4,8 @@ import com.lts.job.client.domain.JobClientNode; import com.lts.job.client.domain.Response; import com.lts.job.client.domain.ResponseCode; +import com.lts.job.client.support.JobSubmitProtectException; import com.lts.job.core.domain.Job; -import com.lts.job.core.exception.JobSubmitException; import com.lts.job.core.support.RetryScheduler; import java.util.Arrays; @@ -49,22 +49,30 @@ protected void innerStop() { } @Override - public Response submitJob(Job job) throws JobSubmitException { + public Response submitJob(Job job) { return submitJob(Arrays.asList(job)); } @Override - public Response submitJob(List jobs) throws JobSubmitException { - Response response = superSubmitJob(jobs); - + public Response submitJob(List jobs) { + Response response; + try { + response = superSubmitJob(jobs); + } catch (JobSubmitProtectException e) { + response = new Response(); + response.setSuccess(true); + response.setFailedJobs(jobs); + response.setCode(ResponseCode.SUBMIT_TOO_BUSY_AND_SAVE_FOR_LATER); + response.setMsg(response.getMsg() + ", submit too busy , save local fail store and send later !"); + } if (!response.isSuccess()) { try { for (Job job : response.getFailedJobs()) { retryScheduler.inSchedule(job.getTaskId(), job); } response.setSuccess(true); - response.setCode(ResponseCode.FAILED_AND_SAVE_FILE); - response.setMsg(response.getMsg() + ", but save local fail store and send later !"); + response.setCode(ResponseCode.SUBMIT_FAILED_AND_SAVE_FOR_LATER); + response.setMsg(response.getMsg() + ", save local fail store and send later !"); } catch (Exception e) { response.setSuccess(false); response.setMsg(e.getMessage()); @@ -74,7 +82,7 @@ public Response submitJob(List jobs) throws JobSubmitException { return response; } - private Response superSubmitJob(List jobs) throws JobSubmitException { + private Response superSubmitJob(List jobs) { return super.submitJob(jobs); } } diff --git a/job-client/src/main/java/com/lts/job/client/domain/ResponseCode.java b/job-client/src/main/java/com/lts/job/client/domain/ResponseCode.java index c1eeaee7c..aa060eddb 100644 --- a/job-client/src/main/java/com/lts/job/client/domain/ResponseCode.java +++ b/job-client/src/main/java/com/lts/job/client/domain/ResponseCode.java @@ -12,9 +12,12 @@ private ResponseCode(){} public static final String JOB_TRACKER_NOT_FOUND = "11"; // 提交失败并且写入文件 - public static final String FAILED_AND_SAVE_FILE = "12"; + public static final String SUBMIT_FAILED_AND_SAVE_FOR_LATER = "12"; // 请求参数检查失败 public static final String REQUEST_FILED_CHECK_ERROR = "13"; + // 提交太块 + public static final String SUBMIT_TOO_BUSY_AND_SAVE_FOR_LATER = "14"; + } diff --git a/job-core/src/main/java/com/lts/job/core/exception/JobSubmitException.java b/job-core/src/main/java/com/lts/job/core/exception/JobSubmitException.java index 11f4d42b0..fc79f1c6e 100644 --- a/job-core/src/main/java/com/lts/job/core/exception/JobSubmitException.java +++ b/job-core/src/main/java/com/lts/job/core/exception/JobSubmitException.java @@ -3,7 +3,7 @@ /** * @author Robert HG (254963746@qq.com) on 5/12/15. */ -public class JobSubmitException extends Exception { +public class JobSubmitException extends RuntimeException { public JobSubmitException() { super();