修改配置参数

main
bynt 4 months ago
parent e8ff91ecdc
commit b21b451f48

@ -1,5 +1,6 @@
package com.baiye; 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.authorization.annotation.EnableOauth2AuthorizationServer;
import org.ballcat.springsecurity.oauth2.server.resource.annotation.EnableOauth2ResourceServer; import org.ballcat.springsecurity.oauth2.server.resource.annotation.EnableOauth2ResourceServer;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
@ -15,7 +16,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableOauth2AuthorizationServer @EnableOauth2AuthorizationServer
@EnableOauth2ResourceServer @EnableOauth2ResourceServer
@MapperScan({ "com.baiye.**.mapper" }) @MapperScan({ "com.baiye.**.mapper" })
@SpringBootApplication @SpringBootApplication(exclude = ElasticJobAutoConfiguration.class)
@EnableScheduling @EnableScheduling
public class AdminApplication { 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.api.listener.ElasticJobListener;
import com.dangdang.ddframe.job.lite.config.LiteJobConfiguration; 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.JobRegistry;
import com.dangdang.ddframe.job.lite.internal.schedule.JobScheduleController;
import com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler; import com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler;
import com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter; import com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -25,7 +26,7 @@ public class ElasticJobHandler {
@Autowired @Autowired
private ZookeeperRegistryCenter zkRegistryCenter; private ZookeeperRegistryCenter zookeeperRegistryCenter;
@Resource @Resource
private JobEventConfiguration jobEventConfiguration; private JobEventConfiguration jobEventConfiguration;
@Resource @Resource
@ -43,17 +44,10 @@ public class ElasticJobHandler {
public void addJob(String jobName, String cron, int shardingTotalCount, SimpleJob instance, String parameters, String description) { 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); log.info("动态创建定时任务jobName = {}, cron = {}, shardingTotalCount = {}, parameters = {}", jobName, cron, shardingTotalCount, parameters);
LiteJobConfiguration.Builder builder = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration( LiteJobConfiguration.Builder builder = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(JobCoreConfiguration.newBuilder(jobName, cron, shardingTotalCount).jobParameter(parameters).description(description).build(), instance.getClass().getName())).overwrite(true);
JobCoreConfiguration.newBuilder(
jobName,
cron,
shardingTotalCount
).jobParameter(parameters).description(description).build(),
instance.getClass().getName()
)).overwrite(true);
LiteJobConfiguration liteJobConfiguration = builder.build(); 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) { public void updateJob(String jobName, String cron) {
log.info("更新定时任务jobName = {}, cron = {}", jobName, 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) { public void removeJob(String jobName) {
log.info("删除定时任务jobName = {}", 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