| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | package com.xxl.job.admin.core.route;import com.xxl.job.admin.core.route.strategy.*;import com.xxl.job.admin.core.util.I18nUtil;/** * Created by xuxueli on 17/3/10. */public enum ExecutorRouteStrategyEnum {    FIRST(I18nUtil.getString("jobconf_route_first"), new ExecutorRouteFirst()),    LAST(I18nUtil.getString("jobconf_route_last"), new ExecutorRouteLast()),    ROUND(I18nUtil.getString("jobconf_route_round"), new ExecutorRouteRound()),    RANDOM(I18nUtil.getString("jobconf_route_random"), new ExecutorRouteRandom()),    CONSISTENT_HASH(I18nUtil.getString("jobconf_route_consistenthash"), new ExecutorRouteConsistentHash()),    LEAST_FREQUENTLY_USED(I18nUtil.getString("jobconf_route_lfu"), new ExecutorRouteLFU()),    LEAST_RECENTLY_USED(I18nUtil.getString("jobconf_route_lru"), new ExecutorRouteLRU()),    FAILOVER(I18nUtil.getString("jobconf_route_failover"), new ExecutorRouteFailover()),    BUSYOVER(I18nUtil.getString("jobconf_route_busyover"), new ExecutorRouteBusyover()),    SHARDING_BROADCAST(I18nUtil.getString("jobconf_route_shard"), null);    ExecutorRouteStrategyEnum(String title, ExecutorRouter router) {        this.title = title;        this.router = router;    }    private String title;    private ExecutorRouter router;    public String getTitle() {        return title;    }    public ExecutorRouter getRouter() {        return router;    }    public static ExecutorRouteStrategyEnum match(String name, ExecutorRouteStrategyEnum defaultItem){        if (name != null) {            for (ExecutorRouteStrategyEnum item: ExecutorRouteStrategyEnum.values()) {                if (item.name().equals(name)) {                    return item;                }            }        }        return defaultItem;    }}
 |