123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package com.xxl.job.admin.core.route.strategy;
- import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
- import com.xxl.job.admin.core.route.ExecutorRouter;
- import com.xxl.job.admin.core.util.I18nUtil;
- import com.xxl.job.core.biz.ExecutorBiz;
- import com.xxl.job.core.biz.model.ReturnT;
- import com.xxl.job.core.biz.model.TriggerParam;
- import java.util.List;
- /**
- * Created by xuxueli on 17/3/10.
- */
- public class ExecutorRouteFailover extends ExecutorRouter {
- @Override
- public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
- StringBuffer beatResultSB = new StringBuffer();
- for (String address : addressList) {
- // beat
- ReturnT<String> beatResult = null;
- try {
- ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(address);
- beatResult = executorBiz.beat();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- beatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
- }
- beatResultSB.append( (beatResultSB.length()>0)?"<br><br>":"")
- .append(I18nUtil.getString("jobconf_beat") + ":")
- .append("<br>address:").append(address)
- .append("<br>code:").append(beatResult.getCode())
- .append("<br>msg:").append(beatResult.getMsg());
- // beat success
- if (beatResult.getCode() == ReturnT.SUCCESS_CODE) {
- beatResult.setMsg(beatResultSB.toString());
- beatResult.setContent(address);
- return beatResult;
- }
- }
- return new ReturnT<String>(ReturnT.FAIL_CODE, beatResultSB.toString());
- }
- }
|