定时任务学习
- 使用官方jar运行helloWorld 1)下载并运行单机zookeeper服务端 2)设置本机地址为zookeeper,并正确运行HelloWorld定时任务 增加辅助jar包slf4j-log4j12-1.7.5.jar
- 注入自己写的测试代码
1)打jar包,使用自己打的jar包正确运行
①增加测试mvn 内容
com.dangdang elastic-job-common-core 2.0.4
注意:spring-jobs.xml文件中,reg:zookeeper不能换行.
- job-lite-spring 是elastic-job通过spring来启动的入口
- 项目中配置 spring-jobs文件.
- 在IbdDataApiApplication中增加读取配置文件的注解 @ImportResource(locations = {“classpath:spring-jobs.xml”})
- 在运行项目时,读取配置文件,在job-lite-spring中spring.schemas关联到 job.xsd reg.xsd定义了xml的格式
- spring.handlers 定义了xml的解析对象
- RegNamespaceHandler 将任务递交给ZookeeperBeanDefinitionParser,后者以spring的方式创建和初始化 ZookeeperRegistryCenter; BeanDefinitionBuilder result = BeanDefinitionBuilder.rootBeanDefinition(ZookeeperRegistryCenter.class); result.addConstructorArgValue(buildZookeeperConfigurationBeanDefinition(element)); result.setInitMethodName(“init”); zookeeper 正式启动;
- JobNamespaceHandler 将任务递交给SimpleJobBeanDefinitionParser->AbstractJobBeanDefinitionParser, 后者以spring的方式创建和初始化 SpringJobScheduler; BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(SpringJobScheduler.class); factory.setInitMethodName(“init”); 定时任务正式启动