gitextract_t3lvgrxz/ ├── .asf.yaml ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ ├── feature-request.md │ │ └── question.md │ ├── PULL_REQUEST_TEMPLATE │ └── workflows/ │ ├── graalvm.yml │ ├── maven.yml │ └── required-check.yml ├── .gitignore ├── .idea/ │ └── vcs.xml ├── .mvn/ │ ├── jvm.config │ └── wrapper/ │ └── maven-wrapper.properties ├── LICENSE ├── NOTICE ├── README.md ├── README_ZH.md ├── RELEASE-NOTES.md ├── api/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ ├── annotation/ │ │ │ ├── ElasticJobConfiguration.java │ │ │ └── ElasticJobProp.java │ │ ├── api/ │ │ │ ├── ElasticJob.java │ │ │ ├── JobConfiguration.java │ │ │ ├── JobExtraConfiguration.java │ │ │ └── JobExtraConfigurationFactory.java │ │ └── spi/ │ │ ├── executor/ │ │ │ ├── ExecutionType.java │ │ │ ├── error/ │ │ │ │ └── handler/ │ │ │ │ ├── JobErrorHandler.java │ │ │ │ └── JobErrorHandlerPropertiesValidator.java │ │ │ └── item/ │ │ │ ├── JobItemExecutor.java │ │ │ ├── param/ │ │ │ │ ├── JobRuntimeService.java │ │ │ │ └── ShardingContext.java │ │ │ └── type/ │ │ │ ├── ClassedJobItemExecutor.java │ │ │ └── TypedJobItemExecutor.java │ │ ├── listener/ │ │ │ ├── ElasticJobListener.java │ │ │ └── param/ │ │ │ └── ShardingContexts.java │ │ ├── tracing/ │ │ │ ├── event/ │ │ │ │ ├── JobEvent.java │ │ │ │ ├── JobExecutionEvent.java │ │ │ │ └── JobStatusTraceEvent.java │ │ │ ├── exception/ │ │ │ │ └── TracingConfigurationException.java │ │ │ ├── listener/ │ │ │ │ ├── TracingListener.java │ │ │ │ └── TracingListenerFactory.java │ │ │ └── storage/ │ │ │ ├── TracingStorageConfiguration.java │ │ │ └── TracingStorageConfigurationConverter.java │ │ └── yaml/ │ │ ├── YamlConfiguration.java │ │ └── YamlConfigurationConverter.java │ └── test/ │ └── java/ │ └── org/ │ └── apache/ │ └── shardingsphere/ │ └── elasticjob/ │ ├── annotation/ │ │ ├── ElasticJobConfigurationTest.java │ │ ├── SimpleTracingConfigurationFactory.java │ │ └── job/ │ │ ├── CustomJob.java │ │ └── impl/ │ │ └── SimpleTestJob.java │ ├── api/ │ │ └── JobConfigurationTest.java │ └── spi/ │ └── listener/ │ └── param/ │ └── ShardingContextsTest.java ├── bootstrap/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── bootstrap/ │ │ ├── JobBootstrap.java │ │ └── type/ │ │ ├── OneOffJobBootstrap.java │ │ └── ScheduleJobBootstrap.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── bootstrap/ │ │ └── type/ │ │ ├── OneOffJobBootstrapTest.java │ │ └── ScheduleJobBootstrapTest.java │ └── resources/ │ └── logback-test.xml ├── distribution/ │ ├── bin/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── assembly/ │ │ │ └── elasticjob-binary-distribution.xml │ │ └── release-docs/ │ │ └── README.txt │ ├── pom.xml │ └── src/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── assembly/ │ └── source-distribution.xml ├── docs/ │ ├── README.md │ ├── archetypes/ │ │ └── default.md │ ├── build.sh │ ├── config.toml │ ├── content/ │ │ ├── blog/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ ├── dev-manual/ │ │ │ ├── _index.cn.md │ │ │ ├── _index.en.md │ │ │ ├── error-handler.cn.md │ │ │ ├── error-handler.en.md │ │ │ ├── job-class-provider.cn.md │ │ │ ├── job-class-provider.en.md │ │ │ ├── roadmap.cn.md │ │ │ ├── roadmap.en.md │ │ │ ├── sharding.cn.md │ │ │ ├── sharding.en.md │ │ │ ├── thread-pool.cn.md │ │ │ └── thread-pool.en.md │ │ ├── downloads/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ ├── faq/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ ├── features/ │ │ │ ├── _index.cn.md │ │ │ ├── _index.en.md │ │ │ ├── elastic.cn.md │ │ │ ├── elastic.en.md │ │ │ ├── failover.cn.md │ │ │ ├── failover.en.md │ │ │ ├── job-type.cn.md │ │ │ ├── job-type.en.md │ │ │ ├── misfire.cn.md │ │ │ ├── misfire.en.md │ │ │ ├── schedule-model.cn.md │ │ │ └── schedule-model.en.md │ │ ├── overview/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ ├── powered-by/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ ├── quick-start/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ └── user-manual/ │ │ ├── _index.cn.md │ │ ├── _index.en.md │ │ ├── configuration/ │ │ │ ├── _index.cn.md │ │ │ ├── _index.en.md │ │ │ ├── built-in-strategy/ │ │ │ │ ├── _index.cn.md │ │ │ │ ├── _index.en.md │ │ │ │ ├── error-handler.cn.md │ │ │ │ ├── error-handler.en.md │ │ │ │ ├── sharding.cn.md │ │ │ │ ├── sharding.en.md │ │ │ │ ├── thread-pool.cn.md │ │ │ │ └── thread-pool.en.md │ │ │ ├── external-integration/ │ │ │ │ ├── _index.cn.md │ │ │ │ ├── _index.en.md │ │ │ │ ├── sasl.cn.md │ │ │ │ └── sasl.en.md │ │ │ ├── graalvm-native-image.cn.md │ │ │ ├── graalvm-native-image.en.md │ │ │ ├── java-api.cn.md │ │ │ ├── java-api.en.md │ │ │ ├── props.cn.md │ │ │ ├── props.en.md │ │ │ ├── spring-boot-starter.cn.md │ │ │ ├── spring-boot-starter.en.md │ │ │ ├── spring-namespace.cn.md │ │ │ └── spring-namespace.en.md │ │ ├── operation/ │ │ │ ├── _index.cn.md │ │ │ ├── _index.en.md │ │ │ ├── deploy-guide.cn.md │ │ │ ├── deploy-guide.en.md │ │ │ ├── dump.cn.md │ │ │ ├── dump.en.md │ │ │ ├── execution-monitor.cn.md │ │ │ ├── execution-monitor.en.md │ │ │ ├── web-console.cn.md │ │ │ └── web-console.en.md │ │ └── usage/ │ │ ├── _index.cn.md │ │ ├── _index.en.md │ │ ├── job-api/ │ │ │ ├── _index.cn.md │ │ │ ├── _index.en.md │ │ │ ├── java-api.cn.md │ │ │ ├── java-api.en.md │ │ │ ├── job-interface.cn.md │ │ │ ├── job-interface.en.md │ │ │ ├── spring-boot-starter.cn.md │ │ │ ├── spring-boot-starter.en.md │ │ │ ├── spring-namespace.cn.md │ │ │ └── spring-namespace.en.md │ │ ├── job-listener/ │ │ │ ├── _index.cn.md │ │ │ ├── _index.en.md │ │ │ ├── java-api.cn.md │ │ │ ├── java-api.en.md │ │ │ ├── listener-interface.cn.md │ │ │ ├── listener-interface.en.md │ │ │ ├── spring-namespace.cn.md │ │ │ └── spring-namespace.en.md │ │ ├── operation-api/ │ │ │ ├── _index.cn.md │ │ │ └── _index.en.md │ │ └── tracing/ │ │ ├── _index.cn.md │ │ ├── _index.en.md │ │ ├── java-api.cn.md │ │ ├── java-api.en.md │ │ ├── spring-boot-starter.cn.md │ │ ├── spring-boot-starter.en.md │ │ ├── spring-namespace.cn.md │ │ ├── spring-namespace.en.md │ │ ├── table-structure.cn.md │ │ └── table-structure.en.md │ ├── i18n/ │ │ └── cn.toml │ ├── layouts/ │ │ ├── index.html │ │ ├── partials/ │ │ │ ├── favicon.html │ │ │ ├── javascript.html │ │ │ ├── logo.html │ │ │ ├── menu-footer.html │ │ │ ├── style.html │ │ │ └── toc.html │ │ └── shortcodes/ │ │ └── bilibili.html │ ├── static/ │ │ ├── css/ │ │ │ ├── style.css │ │ │ ├── theme-black.css │ │ │ ├── theme-mine.css │ │ │ └── theme-white.css │ │ └── data/ │ │ └── chart.js │ └── themes/ │ └── hugo-theme-learn/ │ ├── LICENSE.md │ ├── README.md │ ├── archetypes/ │ │ ├── chapter.md │ │ └── default.md │ ├── exampleSite/ │ │ ├── LICENSE.md │ │ ├── config.toml │ │ ├── content/ │ │ │ ├── _index.en.md │ │ │ ├── _index.fr.md │ │ │ ├── basics/ │ │ │ │ ├── _index.en.md │ │ │ │ ├── _index.fr.md │ │ │ │ ├── configuration/ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ └── _index.fr.md │ │ │ │ ├── installation/ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ └── _index.fr.md │ │ │ │ ├── requirements/ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ └── _index.fr.md │ │ │ │ └── style-customization/ │ │ │ │ ├── _index.en.md │ │ │ │ └── _index.fr.md │ │ │ ├── cont/ │ │ │ │ ├── _index.en.md │ │ │ │ ├── _index.fr.md │ │ │ │ ├── archetypes.en.md │ │ │ │ ├── archetypes.fr.md │ │ │ │ ├── i18n/ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ └── _index.fr.md │ │ │ │ ├── markdown.en.md │ │ │ │ ├── markdown.fr.md │ │ │ │ ├── menushortcuts.en.md │ │ │ │ ├── menushortcuts.fr.md │ │ │ │ └── pages/ │ │ │ │ ├── _index.en.md │ │ │ │ └── _index.fr.md │ │ │ ├── credits.en.md │ │ │ ├── credits.fr.md │ │ │ ├── shortcodes/ │ │ │ │ ├── _index.en.md │ │ │ │ ├── _index.fr.md │ │ │ │ ├── attachments.en.md │ │ │ │ ├── attachments.fr.md │ │ │ │ ├── button.en.md │ │ │ │ ├── button.fr.md │ │ │ │ ├── children/ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ ├── _index.fr.md │ │ │ │ │ ├── children-1/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ ├── _index.fr.md │ │ │ │ │ │ └── children-1-1/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ ├── _index.fr.md │ │ │ │ │ │ └── children-1-1-1/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ ├── _index.fr.md │ │ │ │ │ │ └── children-1-1-1-1/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ ├── _index.fr.md │ │ │ │ │ │ └── children-1-1-1-1-1/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ └── _index.fr.md │ │ │ │ │ ├── children-2/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ ├── _index.fr.md │ │ │ │ │ │ ├── test3.en.md │ │ │ │ │ │ └── test3.fr.md │ │ │ │ │ ├── children-3/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ └── _index.fr.md │ │ │ │ │ ├── children-4/ │ │ │ │ │ │ ├── _index.en.md │ │ │ │ │ │ └── _index.fr.md │ │ │ │ │ ├── test.en.md │ │ │ │ │ └── test.fr.md │ │ │ │ ├── expand.en.md │ │ │ │ ├── expand.fr.md │ │ │ │ ├── mermaid.en.md │ │ │ │ ├── mermaid.fr.md │ │ │ │ ├── notice.en.md │ │ │ │ ├── notice.fr.md │ │ │ │ ├── siteparam.en.md │ │ │ │ └── siteparam.fr.md │ │ │ ├── showcase.en.md │ │ │ └── showcase.fr.md │ │ ├── layouts/ │ │ │ ├── partials/ │ │ │ │ ├── custom-footer.html │ │ │ │ ├── logo.html │ │ │ │ └── menu-footer.html │ │ │ └── shortcodes/ │ │ │ └── ghcontributors.html │ │ └── static/ │ │ └── css/ │ │ └── theme-mine.css │ ├── i18n/ │ │ ├── en.toml │ │ ├── es.toml │ │ ├── fr.toml │ │ └── pt.toml │ ├── layouts/ │ │ ├── 404.html │ │ ├── _default/ │ │ │ ├── list.html │ │ │ └── single.html │ │ ├── index.html │ │ ├── index.json │ │ ├── partials/ │ │ │ ├── change-theme.html │ │ │ ├── custom-comments.html │ │ │ ├── custom-footer.html │ │ │ ├── custom-header.html │ │ │ ├── favicon.html │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ ├── language.html │ │ │ ├── logo.html │ │ │ ├── menu-footer.html │ │ │ ├── menu.html │ │ │ ├── meta.html │ │ │ ├── search.html │ │ │ └── toc.html │ │ └── shortcodes/ │ │ ├── attachments.html │ │ ├── button.html │ │ ├── children.html │ │ ├── expand.html │ │ ├── mermaid.html │ │ ├── notice.html │ │ ├── ref.html │ │ ├── relref.html │ │ └── siteparam.html │ ├── static/ │ │ ├── css/ │ │ │ ├── auto-complete.css │ │ │ ├── hugo-theme.css │ │ │ ├── hybrid.css │ │ │ ├── nucleus.css │ │ │ ├── theme-blue.css │ │ │ ├── theme-green.css │ │ │ ├── theme-red.css │ │ │ └── theme.css │ │ ├── fonts/ │ │ │ └── FontAwesome.otf │ │ └── js/ │ │ ├── auto-complete.js │ │ ├── highlight.pack.js │ │ ├── hugo-learn.js │ │ ├── jquery.sticky.js │ │ ├── learn.js │ │ ├── modernizr.custom.71422.js │ │ └── search.js │ ├── theme.toml │ └── wercker.yml ├── ecosystem/ │ ├── error-handler/ │ │ ├── dingtalk/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── shardingsphere/ │ │ │ │ │ └── elasticjob/ │ │ │ │ │ └── error/ │ │ │ │ │ └── handler/ │ │ │ │ │ └── dingtalk/ │ │ │ │ │ ├── DingtalkJobErrorHandler.java │ │ │ │ │ ├── DingtalkJobErrorHandlerPropertiesValidator.java │ │ │ │ │ └── DingtalkPropertiesConstants.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── error/ │ │ │ │ └── handler/ │ │ │ │ └── dingtalk/ │ │ │ │ ├── DingtalkJobErrorHandlerPropertiesValidatorTest.java │ │ │ │ ├── DingtalkJobErrorHandlerTest.java │ │ │ │ └── fixture/ │ │ │ │ └── DingtalkInternalController.java │ │ │ └── resources/ │ │ │ └── logback-test.xml │ │ ├── email/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── shardingsphere/ │ │ │ │ │ └── elasticjob/ │ │ │ │ │ └── error/ │ │ │ │ │ └── handler/ │ │ │ │ │ └── email/ │ │ │ │ │ ├── EmailJobErrorHandler.java │ │ │ │ │ ├── EmailJobErrorHandlerPropertiesValidator.java │ │ │ │ │ └── EmailPropertiesConstants.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── error/ │ │ │ │ └── handler/ │ │ │ │ └── email/ │ │ │ │ ├── EmailJobErrorHandlerPropertiesValidatorTest.java │ │ │ │ └── EmailJobErrorHandlerTest.java │ │ │ └── resources/ │ │ │ └── logback-test.xml │ │ ├── normal/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── shardingsphere/ │ │ │ │ │ └── elasticjob/ │ │ │ │ │ └── error/ │ │ │ │ │ └── handler/ │ │ │ │ │ └── normal/ │ │ │ │ │ ├── IgnoreJobErrorHandler.java │ │ │ │ │ ├── LogJobErrorHandler.java │ │ │ │ │ └── ThrowJobErrorHandler.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── error/ │ │ │ │ └── handler/ │ │ │ │ └── normal/ │ │ │ │ ├── IgnoreJobErrorHandlerTest.java │ │ │ │ ├── LogJobErrorHandlerTest.java │ │ │ │ └── ThrowJobErrorHandlerTest.java │ │ │ └── resources/ │ │ │ └── logback-test.xml │ │ ├── pom.xml │ │ └── wechat/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── error/ │ │ │ │ └── handler/ │ │ │ │ └── wechat/ │ │ │ │ ├── WechatJobErrorHandler.java │ │ │ │ ├── WechatJobErrorHandlerPropertiesValidator.java │ │ │ │ └── WechatPropertiesConstants.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── error/ │ │ │ └── handler/ │ │ │ └── wechat/ │ │ │ ├── WechatJobErrorHandlerPropertiesValidatorTest.java │ │ │ ├── WechatJobErrorHandlerTest.java │ │ │ └── fixture/ │ │ │ └── WechatInternalController.java │ │ └── resources/ │ │ └── logback-test.xml │ ├── executor/ │ │ ├── dataflow/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── shardingsphere/ │ │ │ │ │ └── elasticjob/ │ │ │ │ │ └── dataflow/ │ │ │ │ │ ├── executor/ │ │ │ │ │ │ └── DataflowJobExecutor.java │ │ │ │ │ ├── job/ │ │ │ │ │ │ └── DataflowJob.java │ │ │ │ │ └── props/ │ │ │ │ │ └── DataflowJobProperties.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── dataflow/ │ │ │ └── executor/ │ │ │ └── DataflowJobExecutorTest.java │ │ ├── http/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── shardingsphere/ │ │ │ │ │ └── elasticjob/ │ │ │ │ │ └── http/ │ │ │ │ │ ├── executor/ │ │ │ │ │ │ └── HttpJobExecutor.java │ │ │ │ │ ├── pojo/ │ │ │ │ │ │ └── HttpParam.java │ │ │ │ │ └── props/ │ │ │ │ │ └── HttpJobProperties.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── http/ │ │ │ │ ├── executor/ │ │ │ │ │ ├── HttpJobExecutorTest.java │ │ │ │ │ └── fixture/ │ │ │ │ │ └── InternalController.java │ │ │ │ └── pojo/ │ │ │ │ └── HttpParamTest.java │ │ │ └── resources/ │ │ │ └── logback-test.xml │ │ ├── pom.xml │ │ ├── script/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── shardingsphere/ │ │ │ │ │ └── elasticjob/ │ │ │ │ │ └── script/ │ │ │ │ │ ├── executor/ │ │ │ │ │ │ └── ScriptJobExecutor.java │ │ │ │ │ └── props/ │ │ │ │ │ └── ScriptJobProperties.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── script/ │ │ │ └── ScriptJobExecutorTest.java │ │ └── simple/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── simple/ │ │ │ │ ├── executor/ │ │ │ │ │ └── SimpleJobExecutor.java │ │ │ │ └── job/ │ │ │ │ └── SimpleJob.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── simple/ │ │ ├── executor/ │ │ │ └── SimpleJobExecutorTest.java │ │ └── job/ │ │ └── FooSimpleJob.java │ ├── pom.xml │ └── tracing/ │ ├── pom.xml │ └── rdb/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── tracing/ │ │ │ └── rdb/ │ │ │ ├── config/ │ │ │ │ └── RDBTracingStorageConfiguration.java │ │ │ ├── listener/ │ │ │ │ ├── RDBTracingListener.java │ │ │ │ └── RDBTracingListenerFactory.java │ │ │ ├── storage/ │ │ │ │ ├── converter/ │ │ │ │ │ └── RDBTracingStorageConfigurationConverter.java │ │ │ │ ├── datasource/ │ │ │ │ │ ├── DataSourceRegistry.java │ │ │ │ │ └── JDBCParameterDecorator.java │ │ │ │ ├── repository/ │ │ │ │ │ └── RDBJobEventRepository.java │ │ │ │ ├── sql/ │ │ │ │ │ ├── RDBStorageSQLMapper.java │ │ │ │ │ └── SQLPropertiesFactory.java │ │ │ │ └── type/ │ │ │ │ ├── TracingStorageDatabaseType.java │ │ │ │ └── impl/ │ │ │ │ ├── DB2TracingStorageDatabaseType.java │ │ │ │ ├── DefaultTracingStorageDatabaseType.java │ │ │ │ ├── GaussDBTracingStorageDatabaseType.java │ │ │ │ ├── H2TracingStorageDatabaseType.java │ │ │ │ ├── MySQLTracingStorageDatabaseType.java │ │ │ │ ├── OracleTracingStorageDatabaseType.java │ │ │ │ ├── PostgreSQLTracingStorageDatabaseType.java │ │ │ │ └── SQLServerTracingStorageDatabaseType.java │ │ │ └── yaml/ │ │ │ ├── YamlDataSourceConfiguration.java │ │ │ └── YamlDataSourceConfigurationConverter.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── services/ │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter │ │ │ └── org.apache.shardingsphere.elasticjob.tracing.rdb.storage.type.TracingStorageDatabaseType │ │ └── sql/ │ │ ├── DB2.properties │ │ ├── GaussDB.properties │ │ ├── H2.properties │ │ ├── MySQL.properties │ │ ├── Oracle.properties │ │ ├── PostgreSQL.properties │ │ ├── SQL92.properties │ │ └── SQLServer.properties │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── tracing/ │ │ └── rdb/ │ │ ├── config/ │ │ │ └── RDBTracingStorageConfigurationTest.java │ │ ├── listener/ │ │ │ ├── RDBTracingListenerFactoryTest.java │ │ │ └── RDBTracingListenerTest.java │ │ ├── storage/ │ │ │ ├── converter/ │ │ │ │ └── RDBTracingStorageConfigurationConverterTest.java │ │ │ ├── datasource/ │ │ │ │ └── DataSourceRegistryTest.java │ │ │ └── repository/ │ │ │ └── RDBJobEventRepositoryTest.java │ │ └── yaml/ │ │ └── YamlRDBTracingStorageConfigurationConverterTest.java │ └── resources/ │ └── logback-test.xml ├── examples/ │ ├── README.md │ ├── elasticjob-example-embed-zk/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── example/ │ │ └── EmbedZookeeperServer.java │ ├── elasticjob-example-java/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── example/ │ │ │ └── JavaMain.java │ │ └── resources/ │ │ ├── logback.xml │ │ └── script/ │ │ ├── demo.bat │ │ └── demo.sh │ ├── elasticjob-example-jobs/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── example/ │ │ ├── fixture/ │ │ │ ├── entity/ │ │ │ │ └── Foo.java │ │ │ └── repository/ │ │ │ ├── FooRepository.java │ │ │ └── FooRepositoryFactory.java │ │ └── job/ │ │ ├── dataflow/ │ │ │ ├── JavaDataflowJob.java │ │ │ └── SpringDataflowJob.java │ │ └── simple/ │ │ ├── JavaOccurErrorJob.java │ │ ├── JavaSimpleJob.java │ │ └── SpringSimpleJob.java │ ├── elasticjob-example-spring/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── example/ │ │ │ └── SpringMain.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── application-context.xml │ │ ├── conf/ │ │ │ ├── job.properties │ │ │ └── reg.properties │ │ ├── logback.xml │ │ └── script/ │ │ ├── demo.bat │ │ └── demo.sh │ ├── elasticjob-example-springboot/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── example/ │ │ │ ├── SpringBootMain.java │ │ │ ├── controller/ │ │ │ │ └── OneOffJobController.java │ │ │ ├── entity/ │ │ │ │ └── Foo.java │ │ │ ├── job/ │ │ │ │ ├── SpringBootDataflowJob.java │ │ │ │ ├── SpringBootOccurErrorNoticeDingtalkJob.java │ │ │ │ ├── SpringBootOccurErrorNoticeEmailJob.java │ │ │ │ ├── SpringBootOccurErrorNoticeWechatJob.java │ │ │ │ └── SpringBootSimpleJob.java │ │ │ └── repository/ │ │ │ └── FooRepository.java │ │ └── resources/ │ │ ├── application-dev.yml │ │ ├── application-prod.yml │ │ ├── application.yml │ │ └── logback.xml │ └── pom.xml ├── kernel/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── kernel/ │ │ │ ├── executor/ │ │ │ │ ├── ElasticJobExecutor.java │ │ │ │ ├── error/ │ │ │ │ │ └── handler/ │ │ │ │ │ └── JobErrorHandlerReloader.java │ │ │ │ ├── facade/ │ │ │ │ │ ├── AbstractJobFacade.java │ │ │ │ │ ├── JobFacade.java │ │ │ │ │ ├── JobJobRuntimeServiceImpl.java │ │ │ │ │ ├── ShardingJobFacade.java │ │ │ │ │ └── SingleShardingJobFacade.java │ │ │ │ ├── item/ │ │ │ │ │ └── JobItemExecutorFactory.java │ │ │ │ └── threadpool/ │ │ │ │ ├── ElasticJobExecutorService.java │ │ │ │ ├── ExecutorServiceReloader.java │ │ │ │ ├── JobExecutorThreadPoolSizeProvider.java │ │ │ │ └── type/ │ │ │ │ ├── CPUUsageJobExecutorThreadPoolSizeProvider.java │ │ │ │ └── SingleThreadJobExecutorThreadPoolSizeProvider.java │ │ │ ├── infra/ │ │ │ │ ├── env/ │ │ │ │ │ ├── HostException.java │ │ │ │ │ └── IpUtils.java │ │ │ │ ├── exception/ │ │ │ │ │ ├── ExceptionUtils.java │ │ │ │ │ ├── JobConfigurationException.java │ │ │ │ │ ├── JobExecutionEnvironmentException.java │ │ │ │ │ ├── JobExecutionException.java │ │ │ │ │ ├── JobSystemException.java │ │ │ │ │ └── PropertiesPreconditions.java │ │ │ │ ├── json/ │ │ │ │ │ └── GsonFactory.java │ │ │ │ ├── time/ │ │ │ │ │ └── TimeService.java │ │ │ │ ├── util/ │ │ │ │ │ ├── BlockUtils.java │ │ │ │ │ └── SensitiveInfoUtils.java │ │ │ │ └── yaml/ │ │ │ │ ├── YamlEngine.java │ │ │ │ └── representer/ │ │ │ │ ├── DefaultYamlTupleProcessor.java │ │ │ │ └── ElasticJobYamlRepresenter.java │ │ │ ├── internal/ │ │ │ │ ├── annotation/ │ │ │ │ │ └── JobAnnotationBuilder.java │ │ │ │ ├── config/ │ │ │ │ │ ├── ConfigurationNode.java │ │ │ │ │ ├── ConfigurationService.java │ │ │ │ │ ├── JobConfigurationPOJO.java │ │ │ │ │ └── RescheduleListenerManager.java │ │ │ │ ├── context/ │ │ │ │ │ └── TaskContext.java │ │ │ │ ├── election/ │ │ │ │ │ ├── ElectionListenerManager.java │ │ │ │ │ ├── LeaderNode.java │ │ │ │ │ └── LeaderService.java │ │ │ │ ├── failover/ │ │ │ │ │ ├── FailoverListenerManager.java │ │ │ │ │ ├── FailoverNode.java │ │ │ │ │ └── FailoverService.java │ │ │ │ ├── guarantee/ │ │ │ │ │ ├── GuaranteeListenerManager.java │ │ │ │ │ ├── GuaranteeNode.java │ │ │ │ │ └── GuaranteeService.java │ │ │ │ ├── instance/ │ │ │ │ │ ├── InstanceNode.java │ │ │ │ │ ├── InstanceService.java │ │ │ │ │ └── ShutdownListenerManager.java │ │ │ │ ├── listener/ │ │ │ │ │ ├── AbstractListenerManager.java │ │ │ │ │ ├── ListenerManager.java │ │ │ │ │ ├── ListenerNotifierManager.java │ │ │ │ │ └── RegistryCenterConnectionStateListener.java │ │ │ │ ├── reconcile/ │ │ │ │ │ └── ReconcileService.java │ │ │ │ ├── schedule/ │ │ │ │ │ ├── JobRegistry.java │ │ │ │ │ ├── JobScheduleController.java │ │ │ │ │ ├── JobScheduler.java │ │ │ │ │ ├── JobShutdownHookPlugin.java │ │ │ │ │ ├── JobTriggerListener.java │ │ │ │ │ ├── LiteJob.java │ │ │ │ │ └── SchedulerFacade.java │ │ │ │ ├── server/ │ │ │ │ │ ├── ServerNode.java │ │ │ │ │ ├── ServerService.java │ │ │ │ │ └── ServerStatus.java │ │ │ │ ├── setup/ │ │ │ │ │ ├── DefaultJobClassNameProvider.java │ │ │ │ │ ├── JobClassNameProvider.java │ │ │ │ │ ├── JobClassNameProviderFactory.java │ │ │ │ │ └── SetUpFacade.java │ │ │ │ ├── sharding/ │ │ │ │ │ ├── ExecutionContextService.java │ │ │ │ │ ├── ExecutionService.java │ │ │ │ │ ├── JobInstance.java │ │ │ │ │ ├── MonitorExecutionListenerManager.java │ │ │ │ │ ├── ShardingItemParameters.java │ │ │ │ │ ├── ShardingListenerManager.java │ │ │ │ │ ├── ShardingNode.java │ │ │ │ │ ├── ShardingService.java │ │ │ │ │ └── strategy/ │ │ │ │ │ ├── JobShardingStrategy.java │ │ │ │ │ └── type/ │ │ │ │ │ ├── AverageAllocationJobShardingStrategy.java │ │ │ │ │ ├── OdevitySortByNameJobShardingStrategy.java │ │ │ │ │ ├── RoundRobinByNameJobShardingStrategy.java │ │ │ │ │ └── SingleShardingBalanceJobShardingStrategy.java │ │ │ │ ├── snapshot/ │ │ │ │ │ └── SnapshotService.java │ │ │ │ ├── storage/ │ │ │ │ │ ├── JobNodePath.java │ │ │ │ │ └── JobNodeStorage.java │ │ │ │ └── trigger/ │ │ │ │ ├── TriggerListenerManager.java │ │ │ │ ├── TriggerNode.java │ │ │ │ └── TriggerService.java │ │ │ ├── listener/ │ │ │ │ └── AbstractDistributeOnceElasticJobListener.java │ │ │ └── tracing/ │ │ │ ├── config/ │ │ │ │ └── TracingConfiguration.java │ │ │ ├── event/ │ │ │ │ └── JobTracingEventBus.java │ │ │ ├── exception/ │ │ │ │ └── TracingStorageUnavailableException.java │ │ │ ├── storage/ │ │ │ │ └── TracingStorageConverterFactory.java │ │ │ └── yaml/ │ │ │ ├── YamlTracingConfiguration.java │ │ │ ├── YamlTracingConfigurationConverter.java │ │ │ └── YamlTracingStorageConfiguration.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ ├── org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.JobExecutorThreadPoolSizeProvider │ │ ├── org.apache.shardingsphere.elasticjob.kernel.internal.sharding.strategy.JobShardingStrategy │ │ └── org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── kernel/ │ │ ├── executor/ │ │ │ ├── ElasticJobExecutorTest.java │ │ │ ├── error/ │ │ │ │ └── handler/ │ │ │ │ ├── JobErrorHandlerReloaderTest.java │ │ │ │ └── fixture/ │ │ │ │ ├── BarJobErrorHandlerFixture.java │ │ │ │ └── FooJobErrorHandlerFixture.java │ │ │ ├── facade/ │ │ │ │ ├── ShardingJobFacadeTest.java │ │ │ │ └── SingleShardingJobFacadeTest.java │ │ │ ├── item/ │ │ │ │ └── JobItemExecutorFactoryTest.java │ │ │ └── threadpool/ │ │ │ ├── ElasticJobExecutorServiceTest.java │ │ │ ├── ExecutorServiceReloaderTest.java │ │ │ └── type/ │ │ │ ├── CPUUsageJobExecutorThreadPoolSizeProviderTest.java │ │ │ └── SingleThreadJobExecutorThreadPoolSizeProviderTest.java │ │ ├── fixture/ │ │ │ ├── YamlConstants.java │ │ │ ├── executor/ │ │ │ │ ├── ClassedFooJobExecutor.java │ │ │ │ └── TypedFooJobExecutor.java │ │ │ └── job/ │ │ │ ├── DetailedFooJob.java │ │ │ ├── FailedJob.java │ │ │ └── FooJob.java │ │ ├── infra/ │ │ │ ├── env/ │ │ │ │ ├── HostExceptionTest.java │ │ │ │ └── IpUtilsTest.java │ │ │ ├── exception/ │ │ │ │ ├── ExceptionUtilsTest.java │ │ │ │ ├── JobConfigurationExceptionTest.java │ │ │ │ ├── JobExecutionEnvironmentExceptionTest.java │ │ │ │ ├── JobSystemExceptionTest.java │ │ │ │ └── PropertiesPreconditionsTest.java │ │ │ ├── json/ │ │ │ │ └── GsonFactoryTest.java │ │ │ ├── time/ │ │ │ │ └── TimeServiceTest.java │ │ │ ├── util/ │ │ │ │ └── SensitiveInfoUtilsTest.java │ │ │ └── yaml/ │ │ │ ├── YamlEngineTest.java │ │ │ └── fixture/ │ │ │ └── FooYamlConfiguration.java │ │ ├── internal/ │ │ │ ├── annotation/ │ │ │ │ ├── JobAnnotationBuilderTest.java │ │ │ │ └── fixture/ │ │ │ │ └── AnnotationJobFixture.java │ │ │ ├── config/ │ │ │ │ ├── ConfigurationNodeTest.java │ │ │ │ ├── ConfigurationServiceTest.java │ │ │ │ ├── JobConfigurationPOJOTest.java │ │ │ │ └── RescheduleListenerManagerTest.java │ │ │ ├── context/ │ │ │ │ ├── TaskContextTest.java │ │ │ │ └── fixture/ │ │ │ │ └── TaskNode.java │ │ │ ├── election/ │ │ │ │ ├── ElectionListenerManagerTest.java │ │ │ │ ├── LeaderNodeTest.java │ │ │ │ └── LeaderServiceTest.java │ │ │ ├── failover/ │ │ │ │ ├── FailoverListenerManagerTest.java │ │ │ │ ├── FailoverNodeTest.java │ │ │ │ └── FailoverServiceTest.java │ │ │ ├── guarantee/ │ │ │ │ ├── GuaranteeListenerManagerTest.java │ │ │ │ ├── GuaranteeNodeTest.java │ │ │ │ └── GuaranteeServiceTest.java │ │ │ ├── instance/ │ │ │ │ ├── InstanceNodeTest.java │ │ │ │ ├── InstanceServiceTest.java │ │ │ │ └── ShutdownListenerManagerTest.java │ │ │ ├── listener/ │ │ │ │ ├── ListenerManagerTest.java │ │ │ │ ├── ListenerNotifierManagerTest.java │ │ │ │ └── RegistryCenterConnectionStateListenerTest.java │ │ │ ├── reconcile/ │ │ │ │ └── ReconcileServiceTest.java │ │ │ ├── schedule/ │ │ │ │ ├── JobRegistryTest.java │ │ │ │ ├── JobScheduleControllerTest.java │ │ │ │ ├── JobTriggerListenerTest.java │ │ │ │ └── SchedulerFacadeTest.java │ │ │ ├── server/ │ │ │ │ ├── ServerNodeTest.java │ │ │ │ └── ServerServiceTest.java │ │ │ ├── setup/ │ │ │ │ ├── DefaultJobClassNameProviderTest.java │ │ │ │ ├── JobClassNameProviderFactoryTest.java │ │ │ │ └── SetUpFacadeTest.java │ │ │ ├── sharding/ │ │ │ │ ├── ExecutionContextServiceTest.java │ │ │ │ ├── ExecutionServiceTest.java │ │ │ │ ├── JobInstanceTest.java │ │ │ │ ├── MonitorExecutionListenerManagerTest.java │ │ │ │ ├── ShardingItemParametersTest.java │ │ │ │ ├── ShardingListenerManagerTest.java │ │ │ │ ├── ShardingNodeTest.java │ │ │ │ ├── ShardingServiceTest.java │ │ │ │ └── strategy/ │ │ │ │ └── type/ │ │ │ │ ├── AverageAllocationJobShardingStrategyTest.java │ │ │ │ ├── OdevitySortByNameJobShardingStrategyTest.java │ │ │ │ ├── RotateServerByNameJobShardingStrategyTest.java │ │ │ │ └── SingleShardingBalanceJobShardingStrategyTest.java │ │ │ ├── storage/ │ │ │ │ ├── JobNodePathTest.java │ │ │ │ └── JobNodeStorageTest.java │ │ │ └── trigger/ │ │ │ └── TriggerListenerManagerTest.java │ │ ├── listener/ │ │ │ ├── DistributeOnceElasticJobListenerTest.java │ │ │ └── fixture/ │ │ │ ├── ElasticJobListenerCaller.java │ │ │ ├── TestDistributeOnceElasticJobListener.java │ │ │ └── TestElasticJobListener.java │ │ └── tracing/ │ │ ├── event/ │ │ │ ├── JobExecutionEventTest.java │ │ │ └── JobTracingEventBusTest.java │ │ ├── fixture/ │ │ │ ├── config/ │ │ │ │ ├── TracingStorageConfigurationFixture.java │ │ │ │ ├── TracingStorageFixture.java │ │ │ │ └── TracingStorageFixtureConfigurationConverter.java │ │ │ └── listener/ │ │ │ ├── TracingListenerFixture.java │ │ │ └── TracingListenerFixtureFactory.java │ │ ├── storage/ │ │ │ └── TracingStorageConfigurationConverterFactoryTest.java │ │ └── yaml/ │ │ ├── YamlJobEventCallerConfiguration.java │ │ ├── YamlJobEventCallerConfigurationConverter.java │ │ └── YamlTracingConfigurationConverterTest.java │ └── resources/ │ ├── META-INF/ │ │ └── services/ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor │ │ ├── org.apache.shardingsphere.elasticjob.spi.listener.ElasticJobListener │ │ ├── org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory │ │ ├── org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter │ │ └── org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter │ └── logback-test.xml ├── lifecycle/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── lifecycle/ │ │ ├── api/ │ │ │ ├── JobAPIFactory.java │ │ │ ├── JobConfigurationAPI.java │ │ │ ├── JobOperateAPI.java │ │ │ ├── JobStatisticsAPI.java │ │ │ ├── ServerStatisticsAPI.java │ │ │ ├── ShardingOperateAPI.java │ │ │ └── ShardingStatisticsAPI.java │ │ ├── domain/ │ │ │ ├── JobBriefInfo.java │ │ │ ├── ServerBriefInfo.java │ │ │ └── ShardingInfo.java │ │ └── internal/ │ │ ├── operate/ │ │ │ ├── JobOperateAPIImpl.java │ │ │ └── ShardingOperateAPIImpl.java │ │ ├── reg/ │ │ │ └── RegistryCenterFactory.java │ │ ├── settings/ │ │ │ └── JobConfigurationAPIImpl.java │ │ └── statistics/ │ │ ├── JobStatisticsAPIImpl.java │ │ ├── ServerStatisticsAPIImpl.java │ │ └── ShardingStatisticsAPIImpl.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── lifecycle/ │ │ ├── api/ │ │ │ └── JobAPIFactoryTest.java │ │ ├── domain/ │ │ │ └── ShardingStatusTest.java │ │ ├── fixture/ │ │ │ └── LifecycleYamlConstants.java │ │ └── internal/ │ │ ├── operate/ │ │ │ ├── JobOperateAPIImplTest.java │ │ │ └── ShardingOperateAPIImplTest.java │ │ ├── reg/ │ │ │ └── RegistryCenterFactoryTest.java │ │ ├── settings/ │ │ │ └── JobConfigurationAPIImplTest.java │ │ └── statistics/ │ │ ├── JobStatisticsAPIImplTest.java │ │ ├── ServerStatisticsAPIImplTest.java │ │ └── ShardingStatisticsAPIImplTest.java │ └── resources/ │ └── logback-test.xml ├── lombok.config ├── mvnw ├── mvnw.cmd ├── pom.xml ├── reachability-metadata/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── resources/ │ └── META-INF/ │ └── native-image/ │ ├── org.apache.shardingsphere.elasticjob/ │ │ ├── elasticjob-reachability-metadata/ │ │ │ ├── reflect-config.json │ │ │ └── resource-config.json │ │ └── generated-reachability-metadata/ │ │ ├── jni-config.json │ │ ├── predefined-classes-config.json │ │ ├── proxy-config.json │ │ ├── reflect-config.json │ │ ├── resource-config.json │ │ └── serialization-config.json │ ├── org.apache.zookeeper/ │ │ └── zookeeper/ │ │ └── 3.9.3/ │ │ └── reflect-config.json │ └── org.hamcrest/ │ └── hamcrest/ │ └── 2.2/ │ └── reflect-config.json ├── registry-center/ │ ├── api/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── reg/ │ │ │ ├── base/ │ │ │ │ ├── CoordinatorRegistryCenter.java │ │ │ │ ├── ElectionCandidate.java │ │ │ │ ├── LeaderExecutionCallback.java │ │ │ │ ├── RegistryCenter.java │ │ │ │ └── transaction/ │ │ │ │ └── TransactionOperation.java │ │ │ ├── exception/ │ │ │ │ ├── IgnoredExceptionProvider.java │ │ │ │ ├── RegException.java │ │ │ │ └── RegExceptionHandler.java │ │ │ └── listener/ │ │ │ ├── ConnectionStateChangedEventListener.java │ │ │ ├── DataChangedEvent.java │ │ │ └── DataChangedEventListener.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── reg/ │ │ ├── base/ │ │ │ └── transaction/ │ │ │ └── TransactionOperationTest.java │ │ └── exception/ │ │ └── RegExceptionHandlerTest.java │ ├── pom.xml │ └── provider/ │ ├── pom.xml │ └── zookeeper-curator/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── reg/ │ │ │ └── zookeeper/ │ │ │ ├── ZookeeperConfiguration.java │ │ │ ├── ZookeeperElectionService.java │ │ │ ├── ZookeeperRegistryCenter.java │ │ │ └── exception/ │ │ │ └── ZookeeperCuratorIgnoredExceptionProvider.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.shardingsphere.elasticjob.reg.exception.IgnoredExceptionProvider │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── reg/ │ │ └── zookeeper/ │ │ ├── ZookeeperConfigurationTest.java │ │ ├── ZookeeperElectionServiceTest.java │ │ ├── ZookeeperRegistryCenterExecuteInLeaderTest.java │ │ ├── ZookeeperRegistryCenterForAuthTest.java │ │ ├── ZookeeperRegistryCenterInitFailureTest.java │ │ ├── ZookeeperRegistryCenterListenerTest.java │ │ ├── ZookeeperRegistryCenterMiscellaneousTest.java │ │ ├── ZookeeperRegistryCenterModifyTest.java │ │ ├── ZookeeperRegistryCenterQueryWithCacheTest.java │ │ ├── ZookeeperRegistryCenterQueryWithoutCacheTest.java │ │ ├── ZookeeperRegistryCenterTransactionTest.java │ │ ├── ZookeeperRegistryCenterWatchTest.java │ │ ├── env/ │ │ │ └── RegistryCenterEnvironmentPreparer.java │ │ └── exception/ │ │ └── ZookeeperCuratorIgnoredExceptionProviderTest.java │ └── resources/ │ ├── conf/ │ │ └── reg/ │ │ ├── local.properties │ │ └── local_overwrite.properties │ └── logback-test.xml ├── restful/ │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── restful/ │ │ │ ├── Filter.java │ │ │ ├── Http.java │ │ │ ├── NettyRestfulService.java │ │ │ ├── NettyRestfulServiceConfiguration.java │ │ │ ├── RestfulController.java │ │ │ ├── RestfulService.java │ │ │ ├── annotation/ │ │ │ │ ├── ContextPath.java │ │ │ │ ├── Mapping.java │ │ │ │ ├── Param.java │ │ │ │ ├── ParamSource.java │ │ │ │ ├── RequestBody.java │ │ │ │ └── Returning.java │ │ │ ├── deserializer/ │ │ │ │ ├── RequestBodyDeserializer.java │ │ │ │ ├── RequestBodyDeserializerFactory.java │ │ │ │ ├── RequestBodyDeserializerNotFoundException.java │ │ │ │ ├── factory/ │ │ │ │ │ ├── DeserializerFactory.java │ │ │ │ │ └── impl/ │ │ │ │ │ ├── DefaultJsonRequestBodyDeserializerFactory.java │ │ │ │ │ └── DefaultTextPlainRequestBodyDeserializerFactory.java │ │ │ │ └── impl/ │ │ │ │ ├── DefaultJsonRequestBodyDeserializer.java │ │ │ │ └── DefaultTextPlainRequestBodyDeserializer.java │ │ │ ├── filter/ │ │ │ │ ├── DefaultFilterChain.java │ │ │ │ └── FilterChain.java │ │ │ ├── handler/ │ │ │ │ ├── ExceptionHandleResult.java │ │ │ │ ├── ExceptionHandler.java │ │ │ │ ├── HandleContext.java │ │ │ │ ├── Handler.java │ │ │ │ ├── HandlerMappingRegistry.java │ │ │ │ ├── HandlerNotFoundException.java │ │ │ │ ├── HandlerParameter.java │ │ │ │ └── impl/ │ │ │ │ ├── DefaultExceptionHandler.java │ │ │ │ └── DefaultHandlerNotFoundExceptionHandler.java │ │ │ ├── mapping/ │ │ │ │ ├── AmbiguousPathPatternException.java │ │ │ │ ├── DefaultMappingContext.java │ │ │ │ ├── MappingContext.java │ │ │ │ ├── PathMatcher.java │ │ │ │ ├── RegexPathMatcher.java │ │ │ │ ├── RegexUrlPatternMap.java │ │ │ │ └── UrlPatternMap.java │ │ │ ├── pipeline/ │ │ │ │ ├── ContextInitializationInboundHandler.java │ │ │ │ ├── ExceptionHandling.java │ │ │ │ ├── FilterChainInboundHandler.java │ │ │ │ ├── HandleMethodExecutor.java │ │ │ │ ├── HandlerParameterDecoder.java │ │ │ │ ├── HttpRequestDispatcher.java │ │ │ │ └── RestfulServiceChannelInitializer.java │ │ │ ├── serializer/ │ │ │ │ ├── ResponseBodySerializer.java │ │ │ │ ├── ResponseBodySerializerFactory.java │ │ │ │ ├── ResponseBodySerializerNotFoundException.java │ │ │ │ ├── factory/ │ │ │ │ │ ├── SerializerFactory.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── DefaultJsonResponseBodySerializerFactory.java │ │ │ │ └── impl/ │ │ │ │ └── DefaultJsonResponseBodySerializer.java │ │ │ └── wrapper/ │ │ │ └── QueryParameterMap.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ ├── org.apache.shardingsphere.elasticjob.restful.deserializer.factory.DeserializerFactory │ │ └── org.apache.shardingsphere.elasticjob.restful.serializer.factory.SerializerFactory │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── restful/ │ │ ├── RegexPathMatcherTest.java │ │ ├── RegexUrlPatternMapTest.java │ │ ├── controller/ │ │ │ ├── IndexController.java │ │ │ ├── JobController.java │ │ │ └── TrailingSlashTestController.java │ │ ├── deserializer/ │ │ │ └── RequestBodyDeserializerFactoryTest.java │ │ ├── filter/ │ │ │ └── DefaultFilterChainTest.java │ │ ├── handler/ │ │ │ └── CustomIllegalStateExceptionHandler.java │ │ ├── pipeline/ │ │ │ ├── FilterChainInboundHandlerTest.java │ │ │ ├── HandlerParameterDecoderTest.java │ │ │ ├── HttpClient.java │ │ │ ├── HttpRequestDispatcherTest.java │ │ │ ├── NettyRestfulServiceTest.java │ │ │ ├── NettyRestfulServiceTrailingSlashInsensitiveTest.java │ │ │ └── NettyRestfulServiceTrailingSlashSensitiveTest.java │ │ ├── pojo/ │ │ │ ├── JobPojo.java │ │ │ └── ResultDto.java │ │ ├── serializer/ │ │ │ ├── CustomTextPlainResponseBodySerializer.java │ │ │ └── ResponseBodySerializerFactoryTest.java │ │ └── wrapper/ │ │ └── QueryParameterMapTest.java │ └── resources/ │ └── META-INF/ │ └── services/ │ └── org.apache.shardingsphere.elasticjob.restful.serializer.ResponseBodySerializer ├── spring/ │ ├── boot-starter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── spring/ │ │ │ │ └── boot/ │ │ │ │ ├── job/ │ │ │ │ │ ├── ElasticJobAutoConfiguration.java │ │ │ │ │ ├── ElasticJobBootstrapConfiguration.java │ │ │ │ │ ├── ElasticJobConfigurationProperties.java │ │ │ │ │ ├── ElasticJobProperties.java │ │ │ │ │ └── ScheduleJobBootstrapStartupRunner.java │ │ │ │ ├── reg/ │ │ │ │ │ ├── ElasticJobRegistryCenterConfiguration.java │ │ │ │ │ ├── ZookeeperProperties.java │ │ │ │ │ └── snapshot/ │ │ │ │ │ ├── ElasticJobSnapshotServiceConfiguration.java │ │ │ │ │ └── SnapshotServiceProperties.java │ │ │ │ └── tracing/ │ │ │ │ ├── ElasticJobTracingConfiguration.java │ │ │ │ └── TracingProperties.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── additional-spring-configuration-metadata.json │ │ │ ├── spring/ │ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ ├── spring.factories │ │ │ └── spring.provides │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── spring/ │ │ │ └── boot/ │ │ │ ├── job/ │ │ │ │ ├── ElasticJobConfigurationPropertiesTest.java │ │ │ │ ├── ElasticJobSpringBootScannerTest.java │ │ │ │ ├── ElasticJobSpringBootTest.java │ │ │ │ ├── executor/ │ │ │ │ │ ├── CustomClassedJobExecutor.java │ │ │ │ │ ├── PrintJobExecutor.java │ │ │ │ │ └── PrintJobProperties.java │ │ │ │ ├── fixture/ │ │ │ │ │ ├── job/ │ │ │ │ │ │ ├── CustomJob.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── AnnotationCustomJob.java │ │ │ │ │ │ └── CustomTestJob.java │ │ │ │ │ └── listener/ │ │ │ │ │ ├── LogElasticJobListener.java │ │ │ │ │ └── NoopElasticJobListener.java │ │ │ │ └── repository/ │ │ │ │ ├── BarRepository.java │ │ │ │ └── impl/ │ │ │ │ └── BarRepositoryImpl.java │ │ │ ├── reg/ │ │ │ │ ├── ZookeeperPropertiesTest.java │ │ │ │ └── snapshot/ │ │ │ │ └── ElasticJobSnapshotServiceConfigurationTest.java │ │ │ └── tracing/ │ │ │ └── TracingConfigurationTest.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor │ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor │ │ │ └── org.apache.shardingsphere.elasticjob.spi.listener.ElasticJobListener │ │ ├── application-elasticjob.yml │ │ ├── application-snapshot.yml │ │ ├── application-tracing.yml │ │ └── logback-test.xml │ ├── core/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── spring/ │ │ │ │ └── core/ │ │ │ │ ├── scanner/ │ │ │ │ │ ├── ClassPathJobScanner.java │ │ │ │ │ ├── ElasticJobScan.java │ │ │ │ │ ├── ElasticJobScanRegistrar.java │ │ │ │ │ └── JobScannerConfiguration.java │ │ │ │ ├── setup/ │ │ │ │ │ └── SpringProxyJobClassNameProvider.java │ │ │ │ └── util/ │ │ │ │ └── AopTargetUtils.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── org.apache.shardingsphere.elasticjob.kernel.internal.setup.JobClassNameProvider │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── spring/ │ │ │ └── core/ │ │ │ ├── setup/ │ │ │ │ └── JobClassNameProviderFactoryTest.java │ │ │ └── util/ │ │ │ ├── AopTargetUtilsTest.java │ │ │ └── TargetJob.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── logback-test.xml │ ├── namespace/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── shardingsphere/ │ │ │ │ └── elasticjob/ │ │ │ │ └── spring/ │ │ │ │ └── namespace/ │ │ │ │ ├── ElasticJobNamespaceHandler.java │ │ │ │ ├── job/ │ │ │ │ │ ├── parser/ │ │ │ │ │ │ └── JobBeanDefinitionParser.java │ │ │ │ │ └── tag/ │ │ │ │ │ └── JobBeanDefinitionTag.java │ │ │ │ ├── reg/ │ │ │ │ │ ├── parser/ │ │ │ │ │ │ └── ZookeeperBeanDefinitionParser.java │ │ │ │ │ └── tag/ │ │ │ │ │ └── ZookeeperBeanDefinitionTag.java │ │ │ │ ├── scanner/ │ │ │ │ │ ├── parser/ │ │ │ │ │ │ └── JobScannerBeanDefinitionParser.java │ │ │ │ │ └── tag/ │ │ │ │ │ └── JobScannerBeanDefinitionTag.java │ │ │ │ ├── snapshot/ │ │ │ │ │ ├── parser/ │ │ │ │ │ │ └── SnapshotBeanDefinitionParser.java │ │ │ │ │ └── tag/ │ │ │ │ │ └── SnapshotBeanDefinitionTag.java │ │ │ │ └── tracing/ │ │ │ │ ├── parser/ │ │ │ │ │ └── TracingBeanDefinitionParser.java │ │ │ │ └── tag/ │ │ │ │ └── TracingBeanDefinitionTag.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── namespace/ │ │ │ │ └── elasticjob.xsd │ │ │ ├── spring.handlers │ │ │ └── spring.schemas │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── shardingsphere/ │ │ │ └── elasticjob/ │ │ │ └── spring/ │ │ │ └── namespace/ │ │ │ ├── fixture/ │ │ │ │ ├── aspect/ │ │ │ │ │ └── SimpleAspect.java │ │ │ │ ├── job/ │ │ │ │ │ ├── DataflowElasticJob.java │ │ │ │ │ ├── FooSimpleElasticJob.java │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ └── AnnotationSimpleJob.java │ │ │ │ │ └── ref/ │ │ │ │ │ ├── RefFooDataflowElasticJob.java │ │ │ │ │ └── RefFooSimpleElasticJob.java │ │ │ │ ├── listener/ │ │ │ │ │ ├── SimpleCglibListener.java │ │ │ │ │ ├── SimpleJdkDynamicProxyListener.java │ │ │ │ │ ├── SimpleListener.java │ │ │ │ │ └── SimpleOnceListener.java │ │ │ │ └── service/ │ │ │ │ ├── FooService.java │ │ │ │ └── FooServiceImpl.java │ │ │ ├── job/ │ │ │ │ ├── AbstractJobSpringIntegrateTest.java │ │ │ │ ├── AbstractOneOffJobSpringIntegrateTest.java │ │ │ │ ├── JobSpringNamespaceWithEventTraceRdbTest.java │ │ │ │ ├── JobSpringNamespaceWithJobHandlerTest.java │ │ │ │ ├── JobSpringNamespaceWithListenerAndCglibTest.java │ │ │ │ ├── JobSpringNamespaceWithListenerAndJdkDynamicProxyTest.java │ │ │ │ ├── JobSpringNamespaceWithListenerTest.java │ │ │ │ ├── JobSpringNamespaceWithRefTest.java │ │ │ │ ├── JobSpringNamespaceWithTypeTest.java │ │ │ │ ├── JobSpringNamespaceWithoutListenerTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithEventTraceRdbTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithJobHandlerTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithListenerAndCglibTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithListenerAndJdkDynamicProxyTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithListenerTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithRefTest.java │ │ │ │ ├── OneOffJobSpringNamespaceWithTypeTest.java │ │ │ │ └── OneOffJobSpringNamespaceWithoutListenerTest.java │ │ │ ├── scanner/ │ │ │ │ ├── AbstractJobSpringIntegrateTest.java │ │ │ │ └── JobScannerTest.java │ │ │ └── snapshot/ │ │ │ ├── SnapshotSpringNamespaceDisableTest.java │ │ │ ├── SnapshotSpringNamespaceEnableTest.java │ │ │ └── SocketUtils.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ ├── job/ │ │ │ │ ├── base.xml │ │ │ │ ├── oneOffWithEventTraceRdb.xml │ │ │ │ ├── oneOffWithJobHandler.xml │ │ │ │ ├── oneOffWithJobRef.xml │ │ │ │ ├── oneOffWithJobType.xml │ │ │ │ ├── oneOffWithListener.xml │ │ │ │ ├── oneOffWithListenerAndCglib.xml │ │ │ │ ├── oneOffWithListenerAndJdkDynamicProxy.xml │ │ │ │ ├── oneOffWithoutListener.xml │ │ │ │ ├── withEventTraceRdb.xml │ │ │ │ ├── withJobHandler.xml │ │ │ │ ├── withJobRef.xml │ │ │ │ ├── withJobType.xml │ │ │ │ ├── withListener.xml │ │ │ │ ├── withListenerAndCglib.xml │ │ │ │ ├── withListenerAndJdkDynamicProxy.xml │ │ │ │ └── withoutListener.xml │ │ │ ├── reg/ │ │ │ │ └── regContext.xml │ │ │ ├── scanner/ │ │ │ │ └── jobScannerContext.xml │ │ │ ├── services/ │ │ │ │ └── org.apache.shardingsphere.elasticjob.spi.listener.ElasticJobListener │ │ │ └── snapshot/ │ │ │ ├── snapshotDisabled.xml │ │ │ └── snapshotEnabled.xml │ │ ├── conf/ │ │ │ ├── job/ │ │ │ │ └── conf.properties │ │ │ └── reg/ │ │ │ └── conf.properties │ │ ├── logback-test.xml │ │ └── script/ │ │ ├── demo.bat │ │ └── demo.sh │ └── pom.xml ├── src/ │ └── resources/ │ ├── checkstyle.xml │ └── spotless/ │ ├── copyright.txt │ └── java.xml └── test/ ├── e2e/ │ ├── pom.xml │ └── src/ │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── test/ │ │ └── e2e/ │ │ ├── annotation/ │ │ │ ├── BaseAnnotationE2ETest.java │ │ │ ├── OneOffEnabledJobE2ETest.java │ │ │ ├── ScheduleEnabledJobE2ETest.java │ │ │ └── fixture/ │ │ │ ├── AnnotationSimpleJob.java │ │ │ └── AnnotationUnShardingJob.java │ │ ├── raw/ │ │ │ ├── BaseE2ETest.java │ │ │ ├── disable/ │ │ │ │ ├── DisabledJobE2ETest.java │ │ │ │ ├── OneOffDisabledJobE2ETest.java │ │ │ │ └── ScheduleDisabledJobE2ETest.java │ │ │ ├── enable/ │ │ │ │ ├── EnabledJobE2ETest.java │ │ │ │ ├── OneOffEnabledJobE2ETest.java │ │ │ │ └── ScheduleEnabledJobE2ETest.java │ │ │ └── fixture/ │ │ │ ├── executor/ │ │ │ │ └── E2EFixtureJobExecutor.java │ │ │ ├── job/ │ │ │ │ ├── E2EFixtureJob.java │ │ │ │ └── E2EFixtureJobImpl.java │ │ │ └── listener/ │ │ │ ├── DistributeOnceE2EFixtureJobListener.java │ │ │ └── E2EFixtureJobListener.java │ │ └── snapshot/ │ │ ├── BaseSnapshotServiceE2ETest.java │ │ ├── SnapshotServiceDisableE2ETest.java │ │ ├── SnapshotServiceEnableE2ETest.java │ │ └── SocketUtils.java │ └── resources/ │ ├── META-INF/ │ │ └── services/ │ │ ├── org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor │ │ └── org.apache.shardingsphere.elasticjob.spi.listener.ElasticJobListener │ └── logback-test.xml ├── native/ │ ├── native-image-filter/ │ │ ├── extra-filter.json │ │ └── user-code-filter.json │ ├── pom.xml │ └── src/ │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── shardingsphere/ │ │ └── elasticjob/ │ │ └── test/ │ │ └── natived/ │ │ ├── TestMain.java │ │ ├── commons/ │ │ │ ├── controller/ │ │ │ │ └── OneOffJobController.java │ │ │ ├── entity/ │ │ │ │ └── Foo.java │ │ │ ├── job/ │ │ │ │ ├── dataflow/ │ │ │ │ │ ├── JavaDataflowJob.java │ │ │ │ │ └── SpringBootDataflowJob.java │ │ │ │ └── simple/ │ │ │ │ ├── JavaSimpleJob.java │ │ │ │ └── SpringBootSimpleJob.java │ │ │ └── repository/ │ │ │ ├── FooRepository.java │ │ │ ├── FooRepositoryFactory.java │ │ │ └── SpringBootFooRepository.java │ │ └── it/ │ │ ├── operation/ │ │ │ └── JavaTest.java │ │ └── staticd/ │ │ ├── JavaTest.java │ │ └── SpringBootDTest.java │ └── resources/ │ ├── application.yml │ └── test-native/ │ └── sh/ │ └── demo.sh ├── pom.xml └── util/ ├── pom.xml └── src/ └── main/ └── java/ └── org/ └── apache/ └── shardingsphere/ └── elasticjob/ └── test/ └── util/ ├── EmbedTestingServer.java └── ReflectionUtils.java