private void startProxy0() { // 1. 先启动 TaskTracker startTaskTracker(); // 2. 启动JobClient并提交任务 JobClient jobClient = startJobClient(); // 3. 提交任务 submitJobs(jobClient); }
private QuartzJobContext buildQuartzSimpleJob(SimpleTriggerImpl simpleTrigger) { QuartzJobContext quartzJobContext = new QuartzJobContext(); quartzJobContext.setTrigger(simpleTrigger); quartzJobContext.setName(simpleTrigger.getName()); quartzJobContext.setType(QuartzJobType.SIMPLE_REPEAT); buildQuartzJobContext(quartzJobContext, simpleTrigger); return quartzJobContext; }
public QuartzJobRunnerDispatcher(List<QuartzJobContext> quartzJobContexts) { for (QuartzJobContext quartzJobContext : quartzJobContexts) { String name = quartzJobContext.getName(); JOB_MAP.put(name, quartzJobContext); } }
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { if (ltsEnable) { // 如果启用才进行代理 LOGGER.info("========LTS====== Proxy Quartz Scheduler"); JobClientProperties jobClientProperties = PropertiesConfigurationFactory.createPropertiesConfiguration(JobClientProperties.class, locations); jobClientProperties.checkProperties(); TaskTrackerProperties taskTrackerProperties = PropertiesConfigurationFactory.createPropertiesConfiguration(TaskTrackerProperties.class, locations); taskTrackerProperties.checkProperties(); QuartzLTSConfig quartzLTSConfig = new QuartzLTSConfig(); quartzLTSConfig.setJobClientProperties(jobClientProperties); quartzLTSConfig.setTaskTrackerProperties(taskTrackerProperties); QuartzLTSConfig.JobProperties jobProperties = PropertiesConfigurationFactory.createPropertiesConfiguration(QuartzLTSConfig.JobProperties.class, locations); quartzLTSConfig.setJobProperties(jobProperties); QuartzLTSProxyAgent agent = new QuartzLTSProxyAgent(quartzLTSConfig); QuartzProxyContext context = new QuartzProxyContext(quartzLTSConfig, agent); QuartzSchedulerBeanRegistrar registrar = new QuartzSchedulerBeanRegistrar(context); beanFactory.addPropertyEditorRegistrar(registrar); } }
private void setJobProp(Job job) { QuartzLTSConfig.JobProperties jobProperties = quartzLTSConfig.getJobProperties(); if (jobProperties == null) { return; } if (jobProperties.getMaxRetryTimes() != null) { job.setMaxRetryTimes(jobProperties.getMaxRetryTimes()); } if (jobProperties.getNeedFeedback() != null) { job.setNeedFeedback(jobProperties.getNeedFeedback()); } if (jobProperties.getRelyOnPrevCycle() != null) { job.setRelyOnPrevCycle(jobProperties.getRelyOnPrevCycle()); } if (jobProperties.getReplaceOnExist() != null) { job.setReplaceOnExist(jobProperties.getReplaceOnExist()); } }
private Job buildCronJob(QuartzJobContext quartzJobContext) { CronTriggerImpl cronTrigger = (CronTriggerImpl) quartzJobContext.getTrigger(); String cronExpression = cronTrigger.getCronExpression(); String description = cronTrigger.getDescription(); int priority = cronTrigger.getPriority(); String name = quartzJobContext.getName(); Job job = new Job(); job.setTaskId(name); job.setPriority(priority); job.setCronExpression(cronExpression); job.setSubmitNodeGroup(quartzLTSConfig.getJobClientProperties().getNodeGroup()); job.setTaskTrackerNodeGroup(quartzLTSConfig.getTaskTrackerProperties().getNodeGroup()); job.setParam("description", description); setJobProp(job); return job; }
private void submitJobs(JobClient jobClient) { List<Job> jobs = new ArrayList<Job>(quartzJobContexts.size()); for (QuartzJobContext quartzJobContext : quartzJobContexts) { if (QuartzJobType.CRON == quartzJobContext.getType()) { jobs.add(buildCronJob(quartzJobContext)); } else if (QuartzJobType.SIMPLE_REPEAT == quartzJobContext.getType()) { jobs.add(buildSimpleJob(quartzJobContext)); } } LOGGER.info("=============LTS=========== Submit start"); submitJobs0(jobClient, jobs); LOGGER.info("=============LTS=========== Submit end"); }
private void startTaskTracker() { TaskTracker taskTracker = TaskTrackerBuilder.buildByProperties(quartzLTSConfig.getTaskTrackerProperties()); taskTracker.setWorkThreads(quartzJobContexts.size()); taskTracker.setJobRunnerClass(QuartzJobRunnerDispatcher.class); final QuartzJobRunnerDispatcher jobRunnerDispatcher = new QuartzJobRunnerDispatcher(quartzJobContexts); taskTracker.setRunnerFactory(new RunnerFactory() { @Override public JobRunner newRunner() { return jobRunnerDispatcher; } }); taskTracker.start(); }
public void checkProperties() throws ConfigPropertiesIllegalException { Assert.isTrue(getMaxRetryTimes() >= 0, "maxRetryTimes must >= 0."); } }
private QuartzJobContext buildQuartzCronJob(CronTriggerImpl cronTrigger) { QuartzJobContext quartzJobContext = new QuartzJobContext(); quartzJobContext.setTrigger(cronTrigger); quartzJobContext.setType(QuartzJobType.CRON); quartzJobContext.setName(cronTrigger.getName()); buildQuartzJobContext(quartzJobContext, cronTrigger); return quartzJobContext; }
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { if (ltsEnable) { // 如果启用才进行代理 LOGGER.info("========LTS====== Proxy Quartz Scheduler"); JobClientProperties jobClientProperties = PropertiesConfigurationFactory.createPropertiesConfiguration(JobClientProperties.class, locations); jobClientProperties.checkProperties(); TaskTrackerProperties taskTrackerProperties = PropertiesConfigurationFactory.createPropertiesConfiguration(TaskTrackerProperties.class, locations); taskTrackerProperties.checkProperties(); QuartzLTSConfig quartzLTSConfig = new QuartzLTSConfig(); quartzLTSConfig.setJobClientProperties(jobClientProperties); quartzLTSConfig.setTaskTrackerProperties(taskTrackerProperties); QuartzLTSConfig.JobProperties jobProperties = PropertiesConfigurationFactory.createPropertiesConfiguration(QuartzLTSConfig.JobProperties.class, locations); quartzLTSConfig.setJobProperties(jobProperties); QuartzLTSProxyAgent agent = new QuartzLTSProxyAgent(quartzLTSConfig); QuartzProxyContext context = new QuartzProxyContext(quartzLTSConfig, agent); QuartzSchedulerBeanRegistrar registrar = new QuartzSchedulerBeanRegistrar(context); beanFactory.addPropertyEditorRegistrar(registrar); } }
private void setJobProp(Job job) { QuartzLTSConfig.JobProperties jobProperties = quartzLTSConfig.getJobProperties(); if (jobProperties == null) { return; } if (jobProperties.getMaxRetryTimes() != null) { job.setMaxRetryTimes(jobProperties.getMaxRetryTimes()); } if (jobProperties.getNeedFeedback() != null) { job.setNeedFeedback(jobProperties.getNeedFeedback()); } if (jobProperties.getRelyOnPrevCycle() != null) { job.setRelyOnPrevCycle(jobProperties.getRelyOnPrevCycle()); } if (jobProperties.getReplaceOnExist() != null) { job.setReplaceOnExist(jobProperties.getReplaceOnExist()); } }
private Job buildCronJob(QuartzJobContext quartzJobContext) { CronTriggerImpl cronTrigger = (CronTriggerImpl) quartzJobContext.getTrigger(); String cronExpression = cronTrigger.getCronExpression(); String description = cronTrigger.getDescription(); int priority = cronTrigger.getPriority(); String name = quartzJobContext.getName(); Job job = new Job(); job.setTaskId(name); job.setPriority(priority); job.setCronExpression(cronExpression); job.setSubmitNodeGroup(quartzLTSConfig.getJobClientProperties().getNodeGroup()); job.setTaskTrackerNodeGroup(quartzLTSConfig.getTaskTrackerProperties().getNodeGroup()); job.setParam("description", description); setJobProp(job); return job; }
private void submitJobs(JobClient jobClient) { List<Job> jobs = new ArrayList<Job>(quartzJobContexts.size()); for (QuartzJobContext quartzJobContext : quartzJobContexts) { if (QuartzJobType.CRON == quartzJobContext.getType()) { jobs.add(buildCronJob(quartzJobContext)); } else if (QuartzJobType.SIMPLE_REPEAT == quartzJobContext.getType()) { jobs.add(buildSimpleJob(quartzJobContext)); } } LOGGER.info("=============LTS=========== Submit start"); submitJobs0(jobClient, jobs); LOGGER.info("=============LTS=========== Submit end"); }
private void startProxy0() { // 1. 先启动 TaskTracker startTaskTracker(); // 2. 启动JobClient并提交任务 JobClient jobClient = startJobClient(); // 3. 提交任务 submitJobs(jobClient); }
private void startTaskTracker() { TaskTracker taskTracker = TaskTrackerBuilder.buildByProperties(quartzLTSConfig.getTaskTrackerProperties()); taskTracker.setWorkThreads(quartzJobContexts.size()); taskTracker.setJobRunnerClass(QuartzJobRunnerDispatcher.class); final QuartzJobRunnerDispatcher jobRunnerDispatcher = new QuartzJobRunnerDispatcher(quartzJobContexts); taskTracker.setRunnerFactory(new RunnerFactory() { @Override public JobRunner newRunner() { return jobRunnerDispatcher; } }); taskTracker.start(); }
public QuartzJobRunnerDispatcher(List<QuartzJobContext> quartzJobContexts) { for (QuartzJobContext quartzJobContext : quartzJobContexts) { String name = quartzJobContext.getName(); JOB_MAP.put(name, quartzJobContext); } }
public void checkProperties() throws ConfigPropertiesIllegalException { Assert.isTrue(getMaxRetryTimes() >= 0, "maxRetryTimes must >= 0."); } }
private QuartzJobContext buildQuartzCronJob(CronTriggerImpl cronTrigger) { QuartzJobContext quartzJobContext = new QuartzJobContext(); quartzJobContext.setTrigger(cronTrigger); quartzJobContext.setType(QuartzJobType.CRON); quartzJobContext.setName(cronTrigger.getName()); buildQuartzJobContext(quartzJobContext, cronTrigger); return quartzJobContext; }
private QuartzJobContext buildQuartzSimpleJob(SimpleTriggerImpl simpleTrigger) { QuartzJobContext quartzJobContext = new QuartzJobContext(); quartzJobContext.setTrigger(simpleTrigger); quartzJobContext.setName(simpleTrigger.getName()); quartzJobContext.setType(QuartzJobType.SIMPLE_REPEAT); buildQuartzJobContext(quartzJobContext, simpleTrigger); return quartzJobContext; }