f0c01aaf19500ee1cbf07a7303c8513923072d09.svn-base 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.xxl.job.admin.core.route.strategy;
  2. import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
  3. import com.xxl.job.admin.core.route.ExecutorRouter;
  4. import com.xxl.job.admin.core.util.I18nUtil;
  5. import com.xxl.job.core.biz.ExecutorBiz;
  6. import com.xxl.job.core.biz.model.IdleBeatParam;
  7. import com.xxl.job.core.biz.model.ReturnT;
  8. import com.xxl.job.core.biz.model.TriggerParam;
  9. import java.util.List;
  10. /**
  11. * Created by xuxueli on 17/3/10.
  12. */
  13. public class ExecutorRouteBusyover extends ExecutorRouter {
  14. @Override
  15. public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
  16. StringBuffer idleBeatResultSB = new StringBuffer();
  17. for (String address : addressList) {
  18. // beat
  19. ReturnT<String> idleBeatResult = null;
  20. try {
  21. ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(address);
  22. idleBeatResult = executorBiz.idleBeat(new IdleBeatParam(triggerParam.getJobId()));
  23. } catch (Exception e) {
  24. logger.error(e.getMessage(), e);
  25. idleBeatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
  26. }
  27. idleBeatResultSB.append( (idleBeatResultSB.length()>0)?"<br><br>":"")
  28. .append(I18nUtil.getString("jobconf_idleBeat") + ":")
  29. .append("<br>address:").append(address)
  30. .append("<br>code:").append(idleBeatResult.getCode())
  31. .append("<br>msg:").append(idleBeatResult.getMsg());
  32. // beat success
  33. if (idleBeatResult.getCode() == ReturnT.SUCCESS_CODE) {
  34. idleBeatResult.setMsg(idleBeatResultSB.toString());
  35. idleBeatResult.setContent(address);
  36. return idleBeatResult;
  37. }
  38. }
  39. return new ReturnT<String>(ReturnT.FAIL_CODE, idleBeatResultSB.toString());
  40. }
  41. }