From 9ef8cdbf4eed6d3598df76dc8a7c32d7b4f70188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E8=B4=B5?= Date: Tue, 26 May 2015 16:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=8C=E8=BF=87=E8=BD=BD=20=E5=A4=84=E7=90=86=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=20=E4=BF=9D=E5=AD=98=E9=87=8D=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lts/job/client/RetryJobClient.java | 24 ++++++++++++------- .../lts/job/client/domain/ResponseCode.java | 5 +++- .../core/exception/JobSubmitException.java | 2 +- 3 files changed, 21 insertions(+), 10 deletions(-) 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();