| 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());    }}
 |