package com.yg.elasticjob.elasticjob;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import com.dangdang.ddframe.job.config.JobCoreConfiguration;
import com.dangdang.ddframe.job.config.simple.SimpleJobConfiguration;
import com.dangdang.ddframe.job.lite.config.LiteJobConfiguration;
import com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler;
//import org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperRegistryCenter;
//import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
import com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author suolong
* @Date 2022/4/14 11:24
* @Version 1.5
*/
@Component
public class ElasticJobHandler {
@Resource
private ZookeeperRegistryCenter registryCenter;
@Resource
private ElasticJobListener elasticJobListener;
/**
* @param jobName:任务的命名空间
* @param jobClass:执行的定时任务对象
* @param shardingTotalCount:分片个数
* @param cron:定时周期表达式
* @param id:自定义参数
* @return
*/
private static LiteJobConfiguration.Builder simpleJobConfigBuilder(String jobName, Class<? extends SimpleJob> jobClass, int shardingTotalCount, String cron, String id) {
//创建任务构建对象
LiteJobConfiguration.Builder builder = LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(
JobCoreConfiguration.
//任务命名空间名字、任务执行周期表达式、分片个数
newBuilder(jobName, cron, shardingTotalCount).
//自定义参数
jobParameter(id).
build(),
jobClass.getCanonicalName()));
//本地配置是否可覆盖注册中心配置
builder.overwrite(true);
return builder;
}
/**
* 添加一个定时任务
*
* @param cron:周期执行表达式
* @param id:自定义参数
* @param jobName:命名空间
* @param instance:任务对象
*/
public void addPublishJob(String cron, String id, String jobName, SimpleJob instance) {
LiteJobConfiguration jobConfig = simpleJobConfigBuilder(
jobName,
instance.getClass(),
1,
cron,
id).overwrite(true).build();
//DynamicTask为具体的任务执行逻辑类
new SpringJobScheduler(instance, registryCenter, jobConfig, elasticJobListener).init();
}
/***
* Date转cron表达式
*/
public static final String CRON_DATE_FORMAT = "ss mm HH dd MM ? yyyy";
/**
* 获得定时
*
* @param date
* @return
*/
public static String getCron(final Date date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(CRON_DATE_FORMAT);
return simpleDateFormat.format(date);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
elasticjob分布式调度动态添加任务
共102个文件
xml:86个
java:7个
gitignore:2个
需积分: 0 12 下载量 16 浏览量
2022-04-17
22:36:03
上传
评论
收藏 66KB 7Z 举报
温馨提示
elasticjob分布式调度动态添加任务
资源详情
资源评论
资源推荐
收起资源包目录
elasticjob分布式调度动态添加任务 (102个子文件)
mvnw.cmd 7KB
.gitignore 395B
.gitignore 229B
elastic-job.iml 10KB
maven-wrapper.jar 57KB
ElasticJobHandler.java 3KB
ElasticJobConfig.java 2KB
ElasticJobListener.java 1KB
TestController.java 1KB
DynamicTask.java 696B
ElasticJobApplication.java 330B
ElasticJobApplicationTests.java 222B
HELP.md 893B
mvnw 10KB
maven-wrapper.properties 233B
application.properties 125B
workspace.xml 4KB
pom.xml 3KB
compiler.xml 888B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_1_RELEASE.xml 874B
jarRepositories.xml 864B
Maven__org_springframework_boot_spring_boot_starter_logging_2_3_1_RELEASE.xml 853B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_1_RELEASE.xml 846B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_0.xml 841B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_1_RELEASE.xml 839B
Maven__org_springframework_boot_spring_boot_starter_test_2_3_1_RELEASE.xml 832B
Maven__org_springframework_boot_spring_boot_starter_json_2_3_1_RELEASE.xml 832B
Maven__org_springframework_boot_spring_boot_starter_web_2_3_1_RELEASE.xml 825B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 805B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_0.xml 800B
Maven__org_springframework_boot_spring_boot_starter_2_3_1_RELEASE.xml 797B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_0.xml 786B
Maven__org_springframework_boot_spring_boot_test_2_3_1_RELEASE.xml 776B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_36.xml 765B
Maven__org_springframework_spring_expression_5_2_7_RELEASE.xml 763B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_0.xml 756B
Maven__org_springframework_spring_context_5_2_7_RELEASE.xml 742B
Maven__org_springframework_boot_spring_boot_2_3_1_RELEASE.xml 741B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 738B
Maven__org_junit_platform_junit_platform_commons_1_6_2.xml 738B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 738B
Maven__com_fasterxml_jackson_core_jackson_databind_2_11_0.xml 735B
Maven__org_springframework_spring_webmvc_5_2_7_RELEASE.xml 735B
Maven__org_junit_platform_junit_platform_engine_1_6_2.xml 731B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_36.xml 730B
Maven__org_springframework_spring_beans_5_2_7_RELEASE.xml 728B
Maven__org_springframework_spring_test_5_2_7_RELEASE.xml 721B
Maven__org_springframework_spring_core_5_2_7_RELEASE.xml 721B
Maven__com_dangdang_elastic_job_lite_spring_2_1_5.xml 721B
Maven__com_dangdang_elastic_job_common_core_2_1_5.xml 721B
Maven__org_junit_jupiter_junit_jupiter_engine_5_6_2.xml 720B
Maven__org_junit_jupiter_junit_jupiter_params_5_6_2.xml 720B
Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml 720B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 716B
Maven__org_springframework_spring_aop_5_2_7_RELEASE.xml 714B
Maven__org_springframework_spring_web_5_2_7_RELEASE.xml 714B
Maven__org_springframework_spring_jcl_5_2_7_RELEASE.xml 714B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml 713B
Maven__org_apache_curator_curator_framework_2_10_0.xml 710B
Maven__com_fasterxml_jackson_core_jackson_core_2_11_0.xml 707B
Maven__com_dangdang_elastic_job_lite_core_2_1_5.xml 707B
Maven__com_mchange_mchange_commons_java_0_2_15.xml 703B
Maven__org_mockito_mockito_junit_jupiter_3_3_3.xml 703B
Maven__org_junit_jupiter_junit_jupiter_api_5_6_2.xml 699B
Maven__org_apache_curator_curator_recipes_2_10_0.xml 696B
Maven__net_bytebuddy_byte_buddy_agent_1_10_11.xml 690B
Maven__org_apache_curator_curator_client_2_10_0.xml 689B
Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml 678B
Maven__org_apiguardian_apiguardian_api_1_1_0.xml 677B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 673B
Maven__org_junit_jupiter_junit_jupiter_5_6_2.xml 671B
Maven__org_apache_commons_commons_lang3_3_10.xml 668B
Maven__org_apache_zookeeper_zookeeper_3_4_6.xml 655B
Maven__org_apache_commons_commons_exec_1_3.xml 654B
Maven__ch_qos_logback_logback_core_1_2_3.xml 652B
Maven__com_jayway_jsonpath_json_path_2_4_0.xml 651B
Maven__net_bytebuddy_byte_buddy_1_10_11.xml 648B
Maven__org_assertj_assertj_core_3_16_1.xml 647B
Maven__net_minidev_accessors_smart_1_2.xml 647B
Maven__org_skyscreamer_jsonassert_1_5_0.xml 642B
Maven__org_xmlunit_xmlunit_core_2_7_0.xml 640B
Maven__org_mockito_mockito_core_3_3_3.xml 640B
Maven__org_slf4j_jul_to_slf4j_1_7_30.xml 639B
Maven__org_opentest4j_opentest4j_1_2_0.xml 638B
Maven__org_projectlombok_lombok_1_18_12.xml 636B
Maven__org_quartz_scheduler_quartz_2_3_2.xml 634B
Maven__org_glassfish_jakarta_el_3_0_3.xml 634B
Maven__io_netty_netty_3_7_0_Final.xml 621B
Maven__com_google_code_gson_gson_2_8_6.xml 620B
Maven__org_slf4j_slf4j_api_1_7_30.xml 618B
Maven__org_objenesis_objenesis_2_6.xml 613B
Maven__net_minidev_json_smart_2_3.xml 612B
Maven__com_google_guava_guava_18_0.xml 604B
Maven__org_hamcrest_hamcrest_2_2.xml 602B
Maven__org_yaml_snakeyaml_1_26.xml 600B
Maven__org_ow2_asm_asm_5_0_4.xml 577B
Maven__jline_jline_0_9_94.xml 574B
Maven__log4j_log4j_1_2_16.xml 574B
Maven__junit_junit_4_13.xml 560B
misc.xml 454B
共 102 条
- 1
- 2
时间是一种解药
- 粉丝: 110
- 资源: 63
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0