@Override
    public Result run(JobContext jobContext) throws Throwable {

        Job job = jobContext.getJob();

        String value;
        if (shardField.equals("taskId")) {
            value = job.getTaskId();
        } else {
            value = job.getParam(shardField);
        }

        JobRunner jobRunner = null;
        if (StringUtils.isNotEmpty(value)) {
            jobRunner = JobRunnerHolder.getJobRunner(value);
        }
        if (jobRunner == null) {
            jobRunner = JobRunnerHolder.getJobRunner("_LTS_DEFAULT");

            if (jobRunner == null) {
                throw new JobDispatchException("Can not find JobRunner by Shard Value : [" + value + "]");
            }
        }
        return jobRunner.run(jobContext);
    }
@author Robert HG (254963746@qq.com) on 10/20/15.
lts-spring/src/main/java/com/github/ltsopensource/spring/tasktracker/JobDispatcher.java