修改配置参数

main
bynt 4 months ago
parent e8ff91ecdc
commit b21b451f48

@ -1,5 +1,6 @@
package com.baiye;
import com.dangdang.elasticjob.lite.autoconfigure.ElasticJobAutoConfiguration;
import org.ballcat.springsecurity.oauth2.server.authorization.annotation.EnableOauth2AuthorizationServer;
import org.ballcat.springsecurity.oauth2.server.resource.annotation.EnableOauth2ResourceServer;
import org.mybatis.spring.annotation.MapperScan;
@ -15,7 +16,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableOauth2AuthorizationServer
@EnableOauth2ResourceServer
@MapperScan({ "com.baiye.**.mapper" })
@SpringBootApplication
@SpringBootApplication(exclude = ElasticJobAutoConfiguration.class)
@EnableScheduling
public class AdminApplication {

@ -7,6 +7,7 @@ import com.dangdang.ddframe.job.event.JobEventConfiguration;
import com.dangdang.ddframe.job.lite.api.listener.ElasticJobListener;
import com.dangdang.ddframe.job.lite.config.LiteJobConfiguration;
import com.dangdang.ddframe.job.lite.internal.schedule.JobRegistry;
import com.dangdang.ddframe.job.lite.internal.schedule.JobScheduleController;
import com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler;
import com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter;
import lombok.extern.slf4j.Slf4j;
@ -25,7 +26,7 @@ public class ElasticJobHandler {
@Autowired
private ZookeeperRegistryCenter zkRegistryCenter;
private ZookeeperRegistryCenter zookeeperRegistryCenter;
@Resource
private JobEventConfiguration jobEventConfiguration;
@Resource
@ -43,17 +44,10 @@ public class ElasticJobHandler {
public void addJob(String jobName, String cron, int shardingTotalCount, SimpleJob instance, String parameters, String description) {
log.info("动态创建定时任务jobName = {}, cron = {}, shardingTotalCount = {}, parameters = {}", jobName, cron, shardingTotalCount, parameters);
LiteJobConfiguration.Builder builder = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(
JobCoreConfiguration.newBuilder(
jobName,
cron,
shardingTotalCount
).jobParameter(parameters).description(description).build(),
instance.getClass().getName()
)).overwrite(true);
LiteJobConfiguration.Builder builder = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder(jobName, cron, shardingTotalCount).jobParameter(parameters).description(description).build(), instance.getClass().getName())).overwrite(true);
LiteJobConfiguration liteJobConfiguration = builder.build();
new SpringJobScheduler(instance, zkRegistryCenter, liteJobConfiguration, jobEventConfiguration, elasticJobListener).init();
new SpringJobScheduler(instance, zookeeperRegistryCenter, liteJobConfiguration, jobEventConfiguration, elasticJobListener).init();
}
/**
@ -64,7 +58,10 @@ public class ElasticJobHandler {
*/
public void updateJob(String jobName, String cron) {
log.info("更新定时任务jobName = {}, cron = {}", jobName, cron);
JobRegistry.getInstance().getJobScheduleController(jobName).rescheduleJob(cron);
JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName);
if (jobScheduleController != null) {
jobScheduleController.rescheduleJob(cron);
}
}
/**
@ -74,6 +71,57 @@ public class ElasticJobHandler {
*/
public void removeJob(String jobName) {
log.info("删除定时任务jobName = {}", jobName);
JobRegistry.getInstance().getJobScheduleController(jobName).shutdown();
JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName);
if (jobScheduleController != null) {
jobScheduleController.pauseJob();
jobScheduleController.shutdown();
zookeeperRegistryCenter.remove("/" + jobName);
}
}
/**
*
*/
public void pauseJob(String jobName) {
JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName);
if (jobScheduleController != null) {
jobScheduleController.pauseJob();
}
}
/**
*
*/
public Boolean isPaused(String jobName) {
JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName);
if (jobScheduleController != null) {
return jobScheduleController.isPaused();
}
return false;
}
/**
*
*/
public void resumeJob(String jobName) {
JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName);
if (jobScheduleController != null) {
jobScheduleController.resumeJob();
}
}
/**
*
*/
public void start(String jobName) {
JobScheduleController jobScheduleController = JobRegistry.getInstance().getJobScheduleController(jobName);
if (jobScheduleController != null) {
jobScheduleController.triggerJob();
}
}
}

Loading…
Cancel
Save