Showing preview only (3,141K chars total). Download the full file or copy to clipboard to get everything.
Repository: apache/shardingsphere-elasticjob
Branch: master
Commit: 674ff4f63da6
Files: 995
Total size: 2.7 MB
Directory structure:
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
================================================
FILE CONTENTS
================================================
================================================
FILE: .asf.yaml
================================================
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
notifications:
commits: notifications@shardingsphere.apache.org
issues: notifications@shardingsphere.apache.org
pullrequests: notifications@shardingsphere.apache.org
github:
description: Distributed scheduled job
labels:
- elasticjob
- database
- scheduled-jobs
- cron
- job
- job-management
- shard
- quartz
- middleware
features:
issues: true
projects: true
protected_branches:
master:
required_status_checks:
contexts:
- Check - CheckStyle
- Check - Spotless
- Check - License
================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.md
================================================
---
name: "\U0001F41B Bug Report"
about: Something isn't working as expected
---
## Bug Report
**For English only**, other languages will not accept.
Before report a bug, make sure you have:
- Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere-elasticjob/issues).
- Read documentation: [ElasticJob Doc](https://shardingsphere.apache.org/elasticjob/current/en/overview/).
Please pay attention on issues you submitted, because we maybe need more details.
If no response anymore and we cannot reproduce it on current information, we will **close it**.
Please answer these questions before submitting your issue. Thanks!
### Which version of ElasticJob did you use?
### Expected behavior
### Actual behavior
### Reason analyze (If you can)
### Steps to reproduce the behavior.
### Example codes for reproduce this issue (such as a github link).
================================================
FILE: .github/ISSUE_TEMPLATE/feature-request.md
================================================
---
name: "\U0001F680 Feature Request"
about: I have a suggestion
---
## Feature Request
**For English only**, other languages will not accept.
Please pay attention on issues you submitted, because we maybe need more details.
If no response anymore and we cannot make decision by current information, we will **close it**.
Please answer these questions before submitting your issue. Thanks!
### Is your feature request related to a problem?
### Describe the feature you would like.
================================================
FILE: .github/ISSUE_TEMPLATE/question.md
================================================
---
name: "\U0001F914 Question"
about: Usage question that isn't answered in docs or discussion
---
## Question
**For English only**, other languages will not accept.
Before asking a question, make sure you have:
- Googled your question.
- Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere-elasticjob/issues).
- Read documentation: [ElasticJob Doc](https://shardingsphere.apache.org/elasticjob/current/en/overview/).
Please pay attention on issues you submitted, because we maybe need more details.
If no response anymore and we cannot reproduce it on current information, we will **close it**.
================================================
FILE: .github/PULL_REQUEST_TEMPLATE
================================================
Fixes #ISSUSE_ID.
Changes proposed in this pull request:
-
-
-
================================================
FILE: .github/workflows/graalvm.yml
================================================
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: NativeTest CI - GraalVM Native Image
on:
pull_request:
branches: [ master ]
paths:
- '.github/workflows/graalvm.yml'
- 'reachability-metadata/src/**'
- 'test/native/**'
jobs:
build:
if: github.repository == 'apache/shardingsphere-elasticjob'
strategy:
matrix:
java: [ '22.0.2' ]
os: [ 'ubuntu-latest' ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up GraalVM CE ${{ matrix.java }}
uses: graalvm/setup-graalvm@v1
with:
java-version: ${{ matrix.java }}
distribution: 'graalvm-community'
github-token: ${{ secrets.GITHUB_TOKEN }}
cache: 'maven'
native-image-job-reports: 'true'
- name: Run nativeTest with GraalVM CE for ${{ matrix.java }}
run: ./mvnw -PnativeTestInElasticJob -T1C -B -e clean test
================================================
FILE: .github/workflows/maven.yml
================================================
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
pull_request:
branches: [ master ]
jobs:
build:
if: github.repository == 'apache/shardingsphere-elasticjob'
strategy:
matrix:
java: [ 8, 17, 21, 24 ]
os: [ 'windows-latest', 'macos-latest', 'ubuntu-latest' ]
runs-on: ${{ matrix.os }}
steps:
- name: Configure Git
if: matrix.os == 'windows-latest'
run: |
git config --global core.longpaths true
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven in Windows
if: matrix.os == 'windows-latest'
run: |
./mvnw --batch-mode --no-transfer-progress '-Dmaven.javadoc.skip=true' clean install -T1C
- name: Build with Maven in Linux or macOS
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'
run: |
./mvnw --batch-mode --no-transfer-progress '-Dmaven.javadoc.skip=true' clean install -Pcheck -T1C
- name: Upload coverage to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.java == '8'
uses: codecov/codecov-action@v3
with:
file: '**/target/site/jacoco/jacoco.xml'
- name: Build Examples with Maven
run: ./mvnw clean package -B -f examples/pom.xml -T1C
================================================
FILE: .github/workflows/required-check.yml
================================================
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: Required - Check
on:
pull_request:
branches: [ master ]
workflow_dispatch:
concurrency:
group: check-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-checkstyle:
name: Check - CheckStyle
if: github.repository == 'apache/shardingsphere-elasticjob'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Run CheckStyle
run: ./mvnw checkstyle:check -Pcheck -T1C
check-spotless:
name: Check - Spotless
if: github.repository == 'apache/shardingsphere-elasticjob'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Run Spotless
run: ./mvnw spotless:check -Pcheck -T1C
check-license:
name: Check - License
if: github.repository == 'apache/shardingsphere-elasticjob'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Run Apache Rat
run: ./mvnw apache-rat:check -Pcheck -T1C
================================================
FILE: .gitignore
================================================
# maven ignore
target/
*.class
*.jar
*.war
*.zip
*.tar
*.tar.gz
dependency-reduced-pom.xml
.flattened-pom.xml
pom.xml.versionsBackup
# maven plugin ignore
release.properties
*.gpg
# eclipse ignore
.settings/
.project
.classpath
.factorypath
# idea ignore
.idea/
!/.idea/icon.png
!/.idea/vcs.xml
*.ipr
*.iml
*.iws
# vscode ignore
.vscode/
# temp ignore
logs/
*.log
*.tlog
*.doc
*.cache
*.diff
*.patch
*.tmp
# system ignore
.DS_Store
Thumbs.db
# antlr ignore
gen/
*.tokens
# profiler ignore
.profiler/
# hugo ignore
public/
.hugo_build.lock
*.html-e
================================================
FILE: .idea/vcs.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="#(\d+)" />
<option name="linkRegexp" value="https://github.com/apache/shardingsphere-elasticjob/pull/$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
================================================
FILE: .mvn/jvm.config
================================================
-Xmx1024m -XX:MaxMetaspaceSize=256m
================================================
FILE: .mvn/wrapper/maven-wrapper.properties
================================================
wrapperVersion=3.3.4
distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
=======================================================================
Apache ShardingSphere Subcomponents:
The Apache ShardingSphere project contains subcomponents with separate copyright
notices and license terms. Your use of the source code for the these
subcomponents is subject to the terms and conditions of the following
licenses.
========================================================================
Apache 2.0 licenses
========================================================================
The following components are provided under the Apache License. See project link for details.
The text of each license is the standard Apache 2.0 license.
Maven Wrapper(mvnw, mvnw.cmd files in root path), https://github.com/apache/maven-wrapper, Apache 2.0
================================================
FILE: NOTICE
================================================
Apache ShardingSphere
Copyright 2018-2026 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
================================================
FILE: README.md
================================================
# [ElasticJob - Distributed scheduled job](http://shardingsphere.apache.org/elasticjob/)
**Official website: https://shardingsphere.apache.org/elasticjob/**
[](https://starchart.cc/apache/shardingsphere-elasticjob)
Through the functions of flexible scheduling, resource management and job management,
it creates a distributed scheduling solution suitable for Internet scenarios,
and provides a diversified job ecosystem through open architecture design.
It uses a unified job API for each project.
Developers only need code one time and can deploy at will.
ElasticJob became an [Apache ShardingSphere](https://shardingsphere.apache.org/) Sub-project on May 28 2020.
You are welcome to communicate with the community via the [mailing list](mailto:dev@shardingsphere.apache.org).
[](https://www.apache.org/licenses/LICENSE-2.0.html)
[](https://github.com/apache/shardingsphere-elasticjob/releases)
[](https://maven-badges.herokuapp.com/maven-central/org.apache.shardingsphere.elasticjob/elasticjob)
[](https://travis-ci.org/apache/shardingsphere-elasticjob)
[](https://github.com/apache/shardingsphere-elasticjob/actions/workflows/maven.yml?query=branch%3Amaster)
[](https://codecov.io/gh/apache/shardingsphere-elasticjob)
[](https://cloud.quality-gate.com/dashboard/branches/396041#overview)
## Introduction
Using ElasticJob developers can no longer worry about the non functional requirements such as job scale out, so that they can focus more on business coding.
At the same time, it can release operators too, so that they do not have to worry about high availability and management, and can automatically operate by simply adding servers.
It is a lightweight, decentralized solution that provides distributed task sharding services.

## Features
- Elastic Schedule
- Support job sharding and high availability in distributed system
- Scale out for throughput and efficiency improvement
- Job processing capacity is flexible and scalable with the allocation of resources
- Resource Assign
- Execute job on suitable time and assigned resources
- Aggregation same job to same job executor
- Append resources to newly assigned jobs dynamically
- Job Governance
- Failover
- Misfired
- Self diagnose and recover when distribute environment unstable
- Job Dependency (TODO)
- DAG based job dependency
- DAG based job item dependency
- Job Open Ecosystem
- Unify job api for extension
- Support rich job type lib, such as dataflow, script, HTTP, file, big data
- Focus business SDK, can work with Spring IOC
- [Admin Console](https://github.com/apache/shardingsphere-elasticjob-ui)
- Job administration
- Job event trace query
- Registry center management
## Environment Required
### Java
Java 8 or above required.
### Maven
Maven 3.5.0 or above required.
### ZooKeeper
ZooKeeper 3.6.0 or above required. [See details](https://zookeeper.apache.org/)
================================================
FILE: README_ZH.md
================================================
# [ElasticJob - 分布式作业调度解决方案](http://shardingsphere.apache.org/elasticjob/)
**官方网站: https://shardingsphere.apache.org/elasticjob/**
[](https://starchart.cc/apache/shardingsphere-elasticjob)
ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案。
它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的作业生态。
它的各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。
ElasticJob 已于 2020 年 5 月 28 日成为 [Apache ShardingSphere](https://shardingsphere.apache.org/) 的子项目。
欢迎通过[邮件列表](mailto:dev@shardingsphere.apache.org)参与讨论。
[](https://www.apache.org/licenses/LICENSE-2.0.html)
[](https://github.com/apache/shardingsphere-elasticjob/releases)
[](https://maven-badges.herokuapp.com/maven-central/org.apache.shardingsphere.elasticjob/elasticjob)
[](https://travis-ci.org/apache/shardingsphere-elasticjob)
[](https://github.com/apache/shardingsphere-elasticjob/actions?query=workflow%3A%22Java+CI+with+Maven+on+macOS%22)
[](https://codecov.io/gh/apache/shardingsphere-elasticjob)
## 简介
使用 ElasticJob 能够让开发工程师不再担心任务的线性吞吐量提升等非功能需求,使他们能够更加专注于面向业务编码设计;
同时,它也能够解放运维工程师,使他们不必再担心任务的可用性和相关管理需求,只通过轻松的增加服务节点即可达到自动化运维的目的。
它定位为轻量级无中心化解决方案,使用 jar 的形式提供分布式任务的协调服务。

## 功能列表
- 弹性调度
- 支持任务在分布式场景下的分片和高可用
- 能够水平扩展任务的吞吐量和执行效率
- 任务处理能力随资源配备弹性伸缩
- 资源分配
- 在适合的时间将适合的资源分配给任务并使其生效
- 相同任务聚合至相同的执行器统一处理
- 动态调配追加资源至新分配的任务
- 作业治理
- 失效转移
- 错过作业重新执行
- 自诊断修复
- 作业依赖(TODO)
- 基于有向无环图(DAG)的作业间依赖
- 基于有向无环图(DAG)的作业分片间依赖
- 作业开放生态
- 可扩展的作业类型统一接口
- 丰富的作业类型库,如数据流、脚本、HTTP、文件、大数据等
- 易于对接业务作业,能够与 Spring 依赖注入无缝整合
- [可视化管控端](https://github.com/apache/shardingsphere-elasticjob-ui)
- 作业管控端
- 作业执行历史数据追踪
- 注册中心管理
## 环境要求
### Java
请使用 Java 8 及其以上版本。
### Maven
请使用 Maven 3.5.0 及其以上版本。
### ZooKeeper
请使用 ZooKeeper 3.6.0 及其以上版本。[详情参见](https://zookeeper.apache.org/)
================================================
FILE: RELEASE-NOTES.md
================================================
## 3.0.5
### CVE
1. Fix CVE-2025-25193, CVE-2024-47535 [#2498](https://github.com/apache/shardingsphere-elasticjob/pull/2498)
1. Fix CVE-2024-22259 [#2500](https://github.com/apache/shardingsphere-elasticjob/pull/2500)
### API Changes
1. Kernel: Refactor of the way Lambda job classes are identified - [#2370](https://github.com/apache/shardingsphere-elasticjob/issues/2370)
### New Features
1. Bootstrap: Provides built-in GraalVM Reachability Metadata and nativeTest on Elasticjob Bootstrap - [#2268](https://github.com/apache/shardingsphere-elasticjob/pull/2268)
1. Lifecycle: Support dynamic configuration of jobs through the Operation API in GraalVM Native Image - [#2426](https://github.com/apache/shardingsphere-elasticjob/pull/2426)
1. Registry Center: Allows to skip Ensemble Tracker for ZookeeperConfiguration to allow connecting to HA enabled Zookeeper clusters in Kubernetes - [#2072](https://github.com/apache/shardingsphere-elasticjob/issues/2072)
### Enhancements
1. Build: Support for building with OpenJDK 22 - [#2407](https://github.com/apache/shardingsphere-elasticjob/issues/2407)
1. Spring Boot Starter: Block `elasticjob-spring-boot-starter` from passing `spring-boot-starter` test scope dependencies - [#2418](https://github.com/apache/shardingsphere-elasticjob/issues/2418)
1. Doc: Adds documentation for connecting to Zookeeper Server with SASL enabled - [#2442](https://github.com/apache/shardingsphere-elasticjob/pull/2442)
1. Dependencies: Bump Quartz to 2.4.0 - [#2439](https://github.com/apache/shardingsphere-elasticjob/issues/2439)
1. Build: Support building and using ElasticJob with JDK23 - [#2453](https://github.com/apache/shardingsphere-elasticjob/issues/2453)
1. Build: Support building and using ElasticJob with JDK24 - [#2481](https://github.com/apache/shardingsphere-elasticjob/pull/2481)
### Bug Fixes
1. Build: Removes non-existent `elasticjob-tracing-api` and `elasticjob-error-handler-spi` module - [#2412](https://github.com/apache/shardingsphere-elasticjob/pull/2412)
1. Spring Boot Starter: Fixes the issue that OneOffJobBootstrap cannot be used under ElasticJob Spring Boot Starter - [#2014](https://github.com/apache/shardingsphere-elasticjob/issues/2014)
1. Spring: Fixes potential conflict in AOP proxy job class identification in Spring Framework - [#2012](https://github.com/apache/shardingsphere-elasticjob/issues/2012)
### Change Logs
1. [MILESTONE](https://github.com/apache/shardingsphere-elasticjob/milestone/7)
## 3.0.4
### Dependencies Upgrade
1. Update dependencies to fix CVE
### Enhancements
1. Support for building with OpenJDK 21
2. Accelerate the startup speed of ElasticJob
3. Migrate from Junit Vintage to Junit Jupiter
### Change Logs
1. [MILESTONE 3.0.4](https://github.com/apache/shardingsphere-elasticjob/milestone/9)
## 3.0.3
### Bug Fixes
1. Job class conflict error caused by empty String
1. Possible NPE in LegacyCrashedRunningItemListener
1. Possible NPE in InstanceService.getAvailableJobInstances
1. Job listeners configured in local configuration were used even if overwrite=false
### Enhancements
1. Add new job dump method in JobOperateAPI
1. Avoid once listener invoke multi times
### Change Logs
1. [MILESTONE 3.0.3](https://github.com/apache/shardingsphere-elasticjob/milestone/8)
## 3.0.2
### Bug Fixes
1. Fix itemErrorMessages not cleared after job finished.
1. Fix Curator notify thread may be blocked and avoid probably endless loop in ServerService.
1. NPE occur when job instance could not be unmarshalled.
1. Fix failover too sensitive.
### Enhancements
1. Script Job exception's stack was ignored.
1. Support using different event trace data source when using Spring Boot.
1. Supports building project by Java 19.
### Change Logs
1. [MILESTONE 3.0.2](https://github.com/apache/shardingsphere-elasticjob/milestone/5)
## 3.0.1
### Enhancements
1. Avoids creating too many threads for JobTracingEventBus
1. Job listeners can be ordered
1. Supports setting timezone for job
1. Some enhancements in Spring Boot Starter
1. Supports configuring preferred ip by regex
### Bug Fixes
1. Lifecycle module: JobOperateAPIImpl#trigger does not work
1. Job conflict may occur when using Spring Boot Starter
### Change Logs
1. [MILESTONE 3.0.1](https://github.com/apache/shardingsphere-elasticjob/milestone/6)
## 3.0.0
### Enhancements
1. Support configuring Mail SMTP SSL trust in elasticjob-error-handler-email
### Bug Fixes
1. The failover may not work in distributed deployment
2. ReconcileService is still running after the job shutdown
### Dependencies
1. Make the spring-boot-starter-jdbc optional in ElasticJob Spring Boot Starter
### Change Logs
1. [MILESTONE 3.0.0](https://github.com/apache/shardingsphere-elasticjob/milestone/4)
## 3.0.0-RC1
### API Changes
1. Simplify usage of injecting OneOffJob when using Spring Boot Starter
1. Refactor job tracing configuration to support persistence
### New Features
1. Support reloading JobErrorHandler and ExecutorService when configuration changed
1. Add authentication support in Cloud Scheduler
### Bug Fixes
1. Fix TracingConfiguration doesn't work when the property overwrite is false
1. Fix SnapshotService may be unavailable in specific situation
1. Fix some minor problems in Restful module
### Build & Dependencies
1. Upgrade commons-dbcp to commons-dbcp2 in Cloud Scheduler
### Change Logs
1. [MILESTONE 3.0.0-RC1](https://github.com/apache/shardingsphere-elasticjob/milestone/3)
## 3.0.0-beta
### API Changes
1. Refactor job listener configuration
1. Refactor job error handler configuration
1. Refactor job tracing configuration
### New Features
1. Support HTTP job
1. Remove spring boot dependencies from job kernel module
1. Support email notification when job execute error
1. Support wechat notification when job execute error
1. Support dingtalk notification when job execute error
### Bug Fixes
1. Fix bug of one-off job cannot work with sharding
1. Fix bug of table and index name case-insensitive for event trace using database
1. Fix bug of dead lock when resharding flag set incorrectly
### Change Logs
1. [MILESTONE](https://github.com/apache/shardingsphere-elasticjob/milestone/2)
## 3.0.0-alpha
### Build & Dependencies
1. Upgrade the minimum supported version of JDK to Java8
1. Update Zookeeper to version 3.6.x and curator to version 5.1.0
1. Update Google Guava to version 29.0-jre
### API Changes
1. Change maven groupId to org.apache.shardingsphere.elasticjob
1. Change package name to org.apache.shardingsphere.elasticjob
1. Change spring namespace name to http://shardingsphere.apache.org/schema/elasticjob
1. New job API, use SPI to customize job type
1. Use SPI to introduce configuration strategies
1. Split console and UI from job core modules
### New Features
1. Add One-off job executor
1. Add Spring Boot Starter for ElasticJob-Lite
1. Add more databases support for event trace persist
1. User indicate IP address via system environment supported
### Bug Fixes
1. Fix bug for executor thread ContextClassLoader is empty with ElasticJob-Cloud
1. Fix bug for enable job from web console have no effect
1. Shutdown job when application exit
1. Fix NPE when failover out-of-order in Curator asynchronized persist
1. Get correct job class name when using CGLIB proxy
### Change Logs
1. [MILESTONE](https://github.com/apache/shardingsphere-elasticjob/milestone/1)
## 2.1.5
### New Features
1. [ISSUE #373](https://github.com/elasticjob/elastic-job/issues/373) Cloud can distinguish processing TASK_UNREACHABLE,TASK_UNKNOWN,TASK_DROPPED,TASK_GONE,etc
### Bug Fixes
1. [ISSUE #367](https://github.com/elasticjob/elastic-job/issues/367) Massive stacked jobs performed after Cloud restart because disabled job does not stop Ready queue
1. [ISSUE #382](https://github.com/elasticjob/elastic-job/issues/382) UI verification error, maximum number of shards should not be verified
1. [ISSUE #383](https://github.com/elasticjob/elastic-job/issues/383) UI verification error, minimum number of listening port should not be verified
## 2.1.4
### Enhancement
1. [ISSUE #29](https://github.com/elasticjob/elastic-job/issues/29) Console support english
1. [ISSUE #352](https://github.com/elasticjob/elastic-job/issues/352) Running elastic-job-cloud-executor locally without mesos environment
### Bug Fixes
1. [ISSUE #322](https://github.com/elasticjob/elastic-job/issues/322) Schedule tasks to evaluate resources when considering the use of resources for executor in elastic-job-cloud-scheduler module
1. [ISSUE #341](https://github.com/elasticjob/elastic-job/issues/341) Script task configuration in elastic-job-cloud-console is missing execution script
1. [ISSUE #343](https://github.com/elasticjob/elastic-job/issues/343) Script task execution script is incorrect in elastic-job-cloud-console module
1. [ISSUE #345](https://github.com/elasticjob/elastic-job/issues/345) The status is not displayed correctly when the task is all disabled in elastic-job-lite-console module
1. [ISSUE #351](https://github.com/elasticjob/elastic-job/issues/351) Manage background add registry, login credentials bar can not enter ':' in elastic-job-lite-console module
## 2.1.3
### Enhancement
1. [ISSUE #327](https://github.com/elasticjob/elastic-job/issues/327) spring namespace supports use xml to config beans
1. [ISSUE #336](https://github.com/elasticjob/elastic-job/issues/336) Cloud task submission failure returns error details to framework
### Bug Fixes
1. [ISSUE #321](https://github.com/elasticjob/elastic-job/issues/321) elastic-job-lite The namespace is not support / when UI adds the registry
1. [ISSUE #333](https://github.com/elasticjob/elastic-job/issues/333) elastic-job-lite Registration center configuration login credentials in the UI implicit display
1. [ISSUE #334](https://github.com/elasticjob/elastic-job/issues/334) elastic-job-lite UI can't find conf\auth.properties file on windows platform
1. [ISSUE #335](https://github.com/elasticjob/elastic-job/issues/335) elastic-job-lite UI guest account configuration does not work in conf\auth.properties file
## 2.1.2
### New Features
1. [ISSUE #301](https://github.com/elasticjob/elastic-job/issues/301) Console add guest permission configuration, guest only allows viewing, not allowed to change
1. [ISSUE #312](https://github.com/elasticjob/elastic-job/issues/312) Cloud support self-healing
### Enhancement
1. [ISSUE #293](https://github.com/elasticjob/elastic-job/issues/293) Lite Console datasource configuration adds connection testing capabilities
1. [ISSUE #296](https://github.com/elasticjob/elastic-job/issues/296) Cloud operational UI refactoring, consistent with lite style
1. [ISSUE #302](https://github.com/elasticjob/elastic-job/issues/302) Failure transfer and task run state monitoring separation
1. [ISSUE #304](https://github.com/elasticjob/elastic-job/issues/304) Cloud add associated features with Mesos roles
1. [ISSUE #316](https://github.com/elasticjob/elastic-job/issues/316) Lite running task association process ID
### Bug Fixes
1. [ISSUE #291](https://github.com/elasticjob/elastic-job/issues/291) elastic-job console failure reason display is not complete
1. [ISSUE #306](https://github.com/elasticjob/elastic-job/issues/306) Switch whether to monitor job execution status and task intervals are short may occur when the task cannot continue to run
1. [ISSUE #310](https://github.com/elasticjob/elastic-job/issues/310) Create to many sequential nodes after configuration check time error seconds for this machine and registry
## 2.1.1
### New Features
1. [ISSUE #242](https://github.com/elasticjob/elastic-job/issues/242) Elastic-Job-Cloud supports delete application and task
1. [ISSUE #243](https://github.com/elasticjob/elastic-job/issues/243) Elastic-Job-Cloud supports enable/disable application and task
### Enhancement
1. [ISSUE #268](https://github.com/elasticjob/elastic-job/issues/268) Simplify POM dependency
### Bug Fixes
1. [ISSUE #266](https://github.com/elasticjob/elastic-job/issues/266) Elastic-Job-Lite start script specifies that the port is invalid
1. [ISSUE #269](https://github.com/elasticjob/elastic-job/issues/269) EventTrace failure record is not affected by sample rate and the time of failure is recorded
1. [ISSUE #270](https://github.com/elasticjob/elastic-job/issues/270) Console send two requests after clicks the button
1. [ISSUE #272](https://github.com/elasticjob/elastic-job/issues/272) Elastic-Job-Lite UI job dimensions that should appear as disabled only if all servers are disabled
1. [ISSUE #275](https://github.com/elasticjob/elastic-job/issues/275) After stopping Zookeeper, restart Zookeeper and the task does not continue
1. [ISSUE #276](https://github.com/elasticjob/elastic-job/issues/276) When fail transfer is turned on and the shard task is performed, the task is repeated
1. [ISSUE #279](https://github.com/elasticjob/elastic-job/issues/279) Add event tracking data source, database connection address can not have parameters
1. [ISSUE #280](https://github.com/elasticjob/elastic-job/issues/280) The historical status of the task history page is not displayed correctly
1. [ISSUE #283](https://github.com/elasticjob/elastic-job/issues/283) Task is not set overwrite and local configuration is inconsistent with the registration center, the cron started by the task shall be based on the registry
1. [ISSUE #290](https://github.com/elasticjob/elastic-job/issues/290) Elastic-Job-Cloud when deleting a disabled APP or JOB, the corresponding disabled node data cannot be deleted
## 2.1.0
### New Features
1. [ISSUE #195](https://github.com/elasticjob/elastic-job/issues/195) Elastic-Job-Lite self-diagnose and fix problems caused by distributed instability
1. [ISSUE #248](https://github.com/elasticjob/elastic-job/issues/248) Elastic-Job-Lite the same job server can run multiple JVM instances with the same job name(Cloud Native)
1. [ISSUE #249](https://github.com/elasticjob/elastic-job/issues/249) Elastic-Job-Lite Operations UI supports incident tracking queries
### Enhancement
1. [ISSUE #240](https://github.com/elasticjob/elastic-job/issues/240) Elastic-Job-Lite operational UI refactoring.
1. [ISSUE #262](https://github.com/elasticjob/elastic-job/issues/262) Elastic-Job-Lite console delete job configuration.
### Bug Fixes
1. [ISSUE #237](https://github.com/elasticjob/elastic-job/issues/238) Add the REST API check on the total number of shards not less than 1
1. [ISSUE #238](https://github.com/elasticjob/elastic-job/issues/238) IP regular expression error
1. [ISSUE #246](https://github.com/elasticjob/elastic-job/issues/246) After using JobOperateAPI.remove(),JobScheduler.init() triggers execution multiple times after creating the same job
1. [ISSUE #250](https://github.com/elasticjob/elastic-job/issues/250) Misfire task triggers more than once
### Refactor
1. [ISSUE #263](https://github.com/elasticjob/elastic-job/issues/263) Elastic-Job-Lite Job OperationAPI Re-grooming
1. [ISSUE #264](https://github.com/elasticjob/elastic-job/issues/264) Elastic-Job-Lite Data storage restructuring, but forward compatibility
## 2.0.5
### New Features
1. [ISSUE #191](https://github.com/elasticjob/elastic-job/issues/191) Framework's HA feature
1. [ISSUE #217](https://github.com/elasticjob/elastic-job/issues/217) cloud add APP dimension configuration
1. [ISSUE #223](https://github.com/elasticjob/elastic-job/issues/223) cloud resident job event tracking sample rate
### Bug Fixes
1. [ISSUE 222](https://github.com/elasticjob/elastic-job/issues/222) elastic-job-lite-spring reg configuration parameter max-retries does not work
1. [ISSUE 231](https://github.com/elasticjob/elastic-job/issues/231) When a cloud job is deleted in bulk, mesos synchronizes TASK_LOST message to the framework in advance, causing the job to be re-arranged in the ready queue and executed
## 2.0.4
### New Features
1. [ISSUE #203](https://github.com/elasticjob/elastic-job/issues/203) Cloud task add run statistics and provide REST API queries
1. [ISSUE #215](https://github.com/elasticjob/elastic-job/issues/215) cloud operations management UI
### Enhancement
1. [ISSUE #187](https://github.com/elasticjob/elastic-job/issues/187) ShardingContext add task attribute to business side
### Bug Fixes
1. [ISSUE #189](https://github.com/elasticjob/elastic-job/issues/189) Manage background to perform a failure operation, but the task is still being executed
1. [ISSUE #204](https://github.com/elasticjob/elastic-job/issues/204) Async execution of messages in consistency results in inaccurate database data
1. [ISSUE #209](https://github.com/elasticjob/elastic-job/issues/209) cloud task resource allocation algorithm improvement
## 2.0.3
### Refactor
1. [ISSUE #184](https://github.com/elasticjob/elastic-job/issues/184) ExecutorServiceHandler interface method adjustment, add jobName used to distinguish between different job thread names
1. [ISSUE #186](https://github.com/elasticjob/elastic-job/issues/186) Simplify SpringJobScheduler use by removing Spring Namespace DTO-related code
### New Features
1. [ISSUE #178](https://github.com/elasticjob/elastic-job/issues/178) Event-driven trigger jobs
### Enhancement
1. [ISSUE #179](https://github.com/elasticjob/elastic-job/issues/179) Transient's Script-type task optimization, no Java Executor support required
1. [ISSUE #182](https://github.com/elasticjob/elastic-job/issues/182) add support for spring boot
### Bug Fixes
1. [ISSUE #177](https://github.com/elasticjob/elastic-job/issues/177) Spring Namespace Job: Script Null Pointer in version 2.0.2
1. [ISSUE #185](https://github.com/elasticjob/elastic-job/issues/185) Executor over-occupancy of sharding resources leads to waste of resources
## 2.0.2
### Refactor
1. [ISSUE #153](https://github.com/elasticjob/elastic-job/issues/153) Centralization of event tracking configuration
1. [ISSUE #160](https://github.com/elasticjob/elastic-job/issues/160) Adjust the maven module structure to provide elastic-job-common and its secondary modules, the original elastic-job-core module migration to elastic-job-common-core
### Enhancement
1. [ISSUE #159](https://github.com/elasticjob/elastic-job/issues/159) Available in any version from Spring 3.1.0.RELEASE to Spring 4
1. [ISSUE #164](https://github.com/elasticjob/elastic-job/issues/164) JobBeans that have been declared in the job Spring namespace no longer need to declare @Component or define in Spring xml
### Bug Fixes
1. [ISSUE #64](https://github.com/elasticjob/elastic-job/issues/64) Spring namespace, if you register multiple job beans of the same class, will cause job beans to look up inaccurately
1. [ISSUE #115](https://github.com/elasticjob/elastic-job/issues/115) Console add new registry, no connection success, back stage has been repeatedly connected and reported errors
1. [ISSUE #151](https://github.com/elasticjob/elastic-job/issues/151) Lack of support for relational database-based event tracking for databases outside MySQL
1. [ISSUE #152](https://github.com/elasticjob/elastic-job/issues/152) Job custom exception processor is invalid and is always handled by Default JobExceptionHandler
1. [ISSUE #156](https://github.com/elasticjob/elastic-job/issues/156) Job event tracking overall call link data acquisition
1. [ISSUE #158](https://github.com/elasticjob/elastic-job/issues/158) Job misses sharding when it is paused and will no longer shard
1. [ISSUE #161](https://github.com/elasticjob/elastic-job/issues/161) Version of Lite deployed to some versions of Tomcat cannot be started
1. [ISSUE #163](https://github.com/elasticjob/elastic-job/issues/163) The project is started or the task is automatically performed after the task is set to disable true
1. [ISSUE #165](https://github.com/elasticjob/elastic-job/issues/165) Shard thread deadlock when all service nodes are disable
1. [ISSUE #167](https://github.com/elasticjob/elastic-job/issues/167) Failover job adds task ID record
## 2.0.1
### Bug Fixes
1. [ISSUE #141](https://github.com/elasticjob/elastic-job/issues/141) Remove the reg module to read information from zk, making the reg namespace's placeholder fully available
1. [ISSUE #143](https://github.com/elasticjob/elastic-job/issues/143) elastic-job-cloud-scheduler memory leak
1. [ISSUE #145](https://github.com/elasticjob/elastic-job/issues/145) After modifying the database connection of the task log, the log is still written to the old database
1. [ISSUE #146](https://github.com/elasticjob/elastic-job/issues/146) Thread pool reuse problem for a task
1. [ISSUE #147](https://github.com/elasticjob/elastic-job/issues/147) console task does not load, background there is an null pointer exception
1. [ISSUE #149](https://github.com/elasticjob/elastic-job/issues/149) Operations platform delete tasks, occasionally encounter deletion incomplete situation
1. [ISSUE #150](https://github.com/elasticjob/elastic-job/issues/150) Cloud's misfire feature will be performed as jobs pile up
## 2.0.0
### New Features
1. Elastic-Job-Cloud initial version
1. Reconstruct the original Elastic-Job to Elastic-Job-Lite
### Bug Fixes
1. [ISSUE #119](https://github.com/elasticjob/elastic-job/issues/119) Quartz does not close properly when spring container is closed
1. [ISSUE #123](https://github.com/elasticjob/elastic-job/issues/123) Stand-alone running timing task, zk disconnect after reconnecting, did not trigger the leader election
1. [ISSUE #127](https://github.com/elasticjob/elastic-job/issues/127) Spring configuration task id cannot use placeholders
## 1.1.1
### Refactor
1. [ISSUE #116](https://github.com/elasticjob/elastic-job/issues/116) HandleJobExecutionException parameter changes for job interface
### Enhancement
1. [ISSUE #110](https://github.com/elasticjob/elastic-job/issues/110) Trigger the task manually
### Bug Fixes
1. [ISSUE #99](https://github.com/elasticjob/elastic-job/issues/99) After deleting a task asynchronously caused the job to be deleted, the task that has not yet ended continues to create zk data
## 1.1.0
### Refactor
1. [ISSUE #97](https://github.com/elasticjob/elastic-job/issues/97) JobConfiguration Refactored to SimpleJobConfiguration,DataflowJobConfiguration,ScriptJobConfiguration
1. [ISSUE #102](https://github.com/elasticjob/elastic-job/issues/102) Redefine Java/Spring Config API,replace Constructor+Setter with Factory+Builder model
1. [ISSUE #104](https://github.com/elasticjob/elastic-job/issues/104) Remove @Deprecated code
1. [ISSUE #105](https://github.com/elasticjob/elastic-job/issues/105) Reconstructing the Spring Namespace Hump Definition
1. [ISSUE #106](https://github.com/elasticjob/elastic-job/issues/106) isStreaming Configuration
1. [ISSUE #107](https://github.com/elasticjob/elastic-job/issues/107) reg-center renamed registry-center-ref
## 1.0.8
### New Features
1. [ISSUE #95](https://github.com/elasticjob/elastic-job/issues/95) Add script type job support
## 1.0.7
### Refactor
1. [ISSUE #88](https://github.com/elasticjob/elastic-job/issues/88) Stop task renamed pause
### New Features
1. [ISSUE #91](https://github.com/elasticjob/elastic-job/issues/91) Job Lifecycle Action API
### Enhancement
1. [ISSUE #84](https://github.com/elasticjob/elastic-job/issues/84) The console provides job enable/disable button action
1. [ISSUE #87](https://github.com/elasticjob/elastic-job/issues/87) Adjusting the master node election process, job shutdown, disabling and pausing will trigger the master node election
1. [ISSUE #93](https://github.com/elasticjob/elastic-job/issues/93) The registry configuration provides default values for baseSleepTimeMilliseconds, maxSleepTimeMilliseconds, and maxRetries
### Bug Fixes
1. [ISSUE #92](https://github.com/elasticjob/elastic-job/issues/92) Modifying the total shard parameter results in a listening throw timeout exception performed by only a single node
## 1.0.6
### Enhancement
1. [ISSUE #71](https://github.com/elasticjob/elastic-job/issues/71) Task off function(shutdown)
1. [ISSUE #72](https://github.com/elasticjob/elastic-job/issues/72) Closed jobs can be deleted
1. [ISSUE #81](https://github.com/elasticjob/elastic-job/issues/81) Using the last end state of a centralized cleanup job instead of the respective cleanup, each cleaning may result in an uncleaned end state due to offline
### Bug Fixes
1. [ISSUE #74](https://github.com/elasticjob/elastic-job/issues/74) When streaming and fail transfer, the failover shard item cannot be executed once and stopped
1. [ISSUE #77](https://github.com/elasticjob/elastic-job/issues/77) Dataflow type task, fetchData if there is data, should be executed in pairs with processData
1. [ISSUE #78](https://github.com/elasticjob/elastic-job/issues/78) Spring configuration job monitoring enable AOP causes problems that do not work properly
## 1.0.5
### Refactor
1. [ISSUE #59](https://github.com/elasticjob/elastic-job/issues/59) elastic-job upgrade curator from 2.8.0 to 2.10.0
### Enhancement
1. [ISSUE #2](https://github.com/elasticjob/elastic-job/issues/2) Add front and post tasks
1. [ISSUE #60](https://github.com/elasticjob/elastic-job/issues/60) Dataflow type task customized thread pool configuration
1. [ISSUE #62](https://github.com/elasticjob/elastic-job/issues/61) Job status cleanup speed-up
1. [ISSUE #65](https://github.com/elasticjob/elastic-job/issues/65) Add spring namespace support for front and post tasks
### Bug Fixes
1. [ISSUE #61](https://github.com/elasticjob/elastic-job/issues/61) Deadlock problem solved when sharding and primary node elections occur at the same time
1. [ISSUE #63](https://github.com/elasticjob/elastic-job/issues/63) You may get TreeCache for other jobs with the same prefix when you get the job TreeCache
1. [ISSUE #69](https://github.com/elasticjob/elastic-job/issues/69) If the job server sharding node in Zk does not exist when sharding, it will not be able to reshard
## 1.0.4
### Refactor
1. [ISSUE #57](https://github.com/elasticjob/elastic-job/issues/57) Thin module, remove elastic-job-test module
1. [ISSUE #58](https://github.com/elasticjob/elastic-job/issues/58) Add changes in job type interfaces due to bulk processing capabilities
### Enhancement
1. [ISSUE #16](https://github.com/elasticjob/elastic-job/issues/16) Provides embedded zookeeper to simplify the development environment
1. [ISSUE #28](https://github.com/elasticjob/elastic-job/issues/28) Dataflow type tasks to increase processData bulk processing of data
1. [ISSUE #56](https://github.com/elasticjob/elastic-job/issues/56) Job custom parameter settings
## 1.0.3
### Enhancement
1. [ISSUE #39](https://github.com/elasticjob/elastic-job/issues/39) Add job assisted listening and fetch job runtime information with dump command
1. [ISSUE #43](https://github.com/elasticjob/elastic-job/issues/43) Add job exception handling callback interface
### Bug Fixes
1. [ISSUE #30](https://github.com/elasticjob/elastic-job/issues/30) Registry is down for a long time and resumes, and the job cannot continue
1. [ISSUE #36](https://github.com/elasticjob/elastic-job/issues/36) Task cannot resume after console pause
1. [ISSUE #40](https://github.com/elasticjob/elastic-job/issues/40) TreeCache uses Coarse granularity cause memory overflow
## 1.0.2
### Refactor
1. [ISSUE #17](https://github.com/elasticjob/elastic-job/issues/17) Task type interface changes
### Enhancement
1. [ISSUE #6](https://github.com/elasticjob/elastic-job/issues/6) Proofreading job server and registry time error
1. [ISSUE #8](https://github.com/elasticjob/elastic-job/issues/8) Increase misfire switch, default enable missed task re-execution
1. [ISSUE #9](https://github.com/elasticjob/elastic-job/issues/9) Sharding policy configurability
1. [ISSUE #10](https://github.com/elasticjob/elastic-job/issues/10) Provides a sorting strategy for odd even shards based on job name hash value
1. [ISSUE #14](https://github.com/elasticjob/elastic-job/issues/14) When the console modifies the cron expression, the task updates the cron in real time
1. [ISSUE #20](https://github.com/elasticjob/elastic-job/issues/20) Operations UI task list shows increased cron expression
1. [ISSUE #54](https://github.com/elasticjob/elastic-job/issues/54) Sequenceperpetual task performance improved, changing fetch data to multithreaded, previously processing data only as multithreaded
1. [ISSUE #55](https://github.com/elasticjob/elastic-job/issues/55) offset storage capabilities
### Bug Fixes
1. [ISSUE #1](https://github.com/elasticjob/elastic-job/issues/1) Inaccurate access to IP addresses in complex network environments
1. [ISSUE #13](https://github.com/elasticjob/elastic-job/issues/13) After a job throws a run-time exception, it does not continue to be triggered later
1. [ISSUE #53](https://github.com/elasticjob/elastic-job/issues/53) Dataflow's Sequence type tasks use multithreaded fetch data
## 1.0.1
1. Initial version
================================================
FILE: api/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob</artifactId>
<version>3.0.6-SNAPSHOT</version>
</parent>
<artifactId>elasticjob-api</artifactId>
<name>${project.artifactId}</name>
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-infra-spi</artifactId>
</dependency>
</dependencies>
</project>
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobConfiguration.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.annotation;
import org.apache.shardingsphere.elasticjob.api.JobExtraConfigurationFactory;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* The annotation that specify a job of elastic.
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ElasticJobConfiguration {
/**
* Job name.
*
* @return job name
*/
String jobName();
/**
* CRON expression, control the job trigger time.
*
* @return cron
*/
String cron() default "";
/**
* Time zone of CRON.
*
* @return time zone
*/
String timeZone() default "";
/**
* Registry center name.
*
* @return registry center
*/
String registryCenter() default "";
/**
* Sharding total count.
*
* @return sharding total count
*/
int shardingTotalCount();
/**
* Sharding item parameters.
*
* @return sharding item parameters
*/
String shardingItemParameters() default "";
/**
* Job parameter.
*
* @return job parameter
*/
String jobParameter() default "";
/**
* Monitor job execution status.
*
* @return monitor execution
*/
boolean monitorExecution() default true;
/**
* Enable or disable job failover.
*
* @return failover
*/
boolean failover() default false;
/**
* Enable or disable the missed task to re-execute.
*
* @return misfire
*/
boolean misfire() default true;
/**
* The maximum value for time difference between server and registry center in seconds.
*
* @return max time diff seconds
*/
int maxTimeDiffSeconds() default -1;
/**
* Service scheduling interval in minutes for repairing job server inconsistent state.
*
* @return reconcile interval minutes
*/
int reconcileIntervalMinutes() default 10;
/**
* Job sharding strategy type.
*
* @return job sharding strategy type
*/
String jobShardingStrategyType() default "";
/**
* Job executor thread pool size provider type.
*
* @return job executor thread pool size provider type
*/
String jobExecutorThreadPoolSizeProviderType() default "";
/**
* Job thread pool handler type.
*
* @return job error handler type
*/
String jobErrorHandlerType() default "";
/**
* Job listener types.
*
* @return job listener types
*/
String[] jobListenerTypes() default {};
/**
* Extra configurations.
*
* @return extra configurations
*/
Class<? extends JobExtraConfigurationFactory>[] extraConfigurations() default {};
/**
* Job description.
*
* @return description
*/
String description() default "";
/**
* Job properties.
*
* @return properties
*/
ElasticJobProp[] props() default {};
/**
* Enable or disable start the job.
*
* @return disabled
*/
boolean disabled() default false;
/**
* Enable or disable local configuration override registry center configuration.
*
* @return overwrite
*/
boolean overwrite() default false;
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobProp.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* The annotation that specify elastic-job prop.
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface ElasticJobProp {
/**
* Prop key.
*
* @return key
*/
String key();
/**
* Prop value.
*
* @return value
*/
String value() default "";
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/ElasticJob.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.api;
/**
* ElasticJob interface.
*/
public interface ElasticJob {
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobConfiguration.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.api;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Properties;
/**
* ElasticJob configuration.
*/
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public final class JobConfiguration {
private final String jobName;
private final String cron;
private final String timeZone;
private final int shardingTotalCount;
private final String shardingItemParameters;
private final String jobParameter;
private final boolean monitorExecution;
private final boolean failover;
private final boolean misfire;
private final int maxTimeDiffSeconds;
private final int reconcileIntervalMinutes;
private final String jobShardingStrategyType;
private final String jobExecutorThreadPoolSizeProviderType;
private final String jobErrorHandlerType;
private final Collection<String> jobListenerTypes;
private final Collection<JobExtraConfiguration> extraConfigurations;
private final String description;
private final Properties props;
private final boolean disabled;
private final boolean overwrite;
private final String label;
private final boolean staticSharding;
/**
* Create ElasticJob configuration builder.
*
* @param jobName job name
* @param shardingTotalCount sharding total count
* @return ElasticJob configuration builder
*/
public static Builder newBuilder(final String jobName, final int shardingTotalCount) {
return new Builder(jobName, shardingTotalCount);
}
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public static class Builder {
private final String jobName;
private String cron;
private String timeZone;
private final int shardingTotalCount;
private String shardingItemParameters = "";
private String jobParameter = "";
private boolean monitorExecution = true;
private boolean failover;
private boolean misfire = true;
private int maxTimeDiffSeconds = -1;
private int reconcileIntervalMinutes = 10;
private String jobShardingStrategyType;
private String jobExecutorThreadPoolSizeProviderType;
private String jobErrorHandlerType;
private final Collection<String> jobListenerTypes = new ArrayList<>();
private final Collection<JobExtraConfiguration> extraConfigurations = new LinkedList<>();
private String description = "";
private final Properties props = new Properties();
private boolean disabled;
private boolean overwrite;
private String label;
private boolean staticSharding;
/**
* Cron expression.
*
* @param cron cron expression
* @return job configuration builder
*/
public Builder cron(final String cron) {
if (null != cron) {
this.cron = cron;
}
return this;
}
/**
* time zone.
*
* @param timeZone the time zone
* @return job configuration builder
*/
public Builder timeZone(final String timeZone) {
if (null != timeZone) {
this.timeZone = timeZone;
}
return this;
}
/**
* Set mapper of sharding items and sharding parameters.
*
* <p>
* sharding item and sharding parameter split by =, multiple sharding items and sharding parameters split by comma, just like map.
* Sharding item start from zero, cannot equal to great than sharding total count.
* For example:
* 0=a,1=b,2=c
* </p>
*
* @param shardingItemParameters mapper of sharding items and sharding parameters
* @return job configuration builder
*/
public Builder shardingItemParameters(final String shardingItemParameters) {
if (null != shardingItemParameters) {
this.shardingItemParameters = shardingItemParameters;
}
return this;
}
/**
* Set job parameter.
*
* @param jobParameter job parameter
*
* @return job configuration builder
*/
public Builder jobParameter(final String jobParameter) {
if (null != jobParameter) {
this.jobParameter = jobParameter;
}
return this;
}
/**
* Set enable or disable monitor execution.
*
* <p>
* For short interval job, it is better to disable monitor execution to improve performance.
* It can't guarantee repeated data fetch and can't failover if disable monitor execution, please keep idempotence in job.
* For long interval job, it is better to enable monitor execution to guarantee fetch data exactly once.
* </p>
*
* @param monitorExecution monitor job execution status
* @return ElasticJob configuration builder
*/
public Builder monitorExecution(final boolean monitorExecution) {
this.monitorExecution = monitorExecution;
return this;
}
/**
* Set enable failover.
*
* <p>
* Only for `monitorExecution` enabled.
* </p>
*
* @param failover enable or disable failover
* @return job configuration builder
*/
public Builder failover(final boolean failover) {
this.failover = failover;
return this;
}
/**
* Set enable misfire.
*
* @param misfire enable or disable misfire
* @return job configuration builder
*/
public Builder misfire(final boolean misfire) {
this.misfire = misfire;
return this;
}
/**
* Set max tolerate time different seconds between job server and registry center.
*
* <p>
* ElasticJob will throw exception if exceed max tolerate time different seconds.
* -1 means do not check.
* </p>
*
* @param maxTimeDiffSeconds max tolerate time different seconds between job server and registry center
* @return ElasticJob configuration builder
*/
public Builder maxTimeDiffSeconds(final int maxTimeDiffSeconds) {
this.maxTimeDiffSeconds = maxTimeDiffSeconds;
return this;
}
/**
* Set reconcile interval minutes for job sharding status.
*
* <p>
* Monitor the status of the job server at regular intervals, and resharding if incorrect.
* </p>
*
* @param reconcileIntervalMinutes reconcile interval minutes for job sharding status
* @return ElasticJob configuration builder
*/
public Builder reconcileIntervalMinutes(final int reconcileIntervalMinutes) {
this.reconcileIntervalMinutes = reconcileIntervalMinutes;
return this;
}
/**
* Set job sharding strategy type.
*
* <p>
* Default for {@code AverageAllocationJobShardingStrategy}.
* </p>
*
* @param jobShardingStrategyType job sharding strategy type
* @return ElasticJob configuration builder
*/
public Builder jobShardingStrategyType(final String jobShardingStrategyType) {
if (null != jobShardingStrategyType) {
this.jobShardingStrategyType = jobShardingStrategyType;
}
return this;
}
/**
* Set job executor thread pool size provider type.
*
* @param jobExecutorThreadPoolSizeProviderType job executor thread pool size provider type
* @return job configuration builder
*/
public Builder jobExecutorThreadPoolSizeProviderType(final String jobExecutorThreadPoolSizeProviderType) {
this.jobExecutorThreadPoolSizeProviderType = jobExecutorThreadPoolSizeProviderType;
return this;
}
/**
* Set job error handler type.
*
* @param jobErrorHandlerType job error handler type
* @return job configuration builder
*/
public Builder jobErrorHandlerType(final String jobErrorHandlerType) {
this.jobErrorHandlerType = jobErrorHandlerType;
return this;
}
/**
* Set job listener types.
*
* @param jobListenerTypes job listener types
* @return ElasticJob configuration builder
*/
public Builder jobListenerTypes(final String... jobListenerTypes) {
this.jobListenerTypes.addAll(Arrays.asList(jobListenerTypes));
return this;
}
/**
* Add extra configurations.
*
* @param extraConfig job extra configuration
* @return job configuration builder
*/
public Builder addExtraConfigurations(final JobExtraConfiguration extraConfig) {
extraConfigurations.add(extraConfig);
return this;
}
/**
* Set job description.
*
* @param description job description
* @return job configuration builder
*/
public Builder description(final String description) {
if (null != description) {
this.description = description;
}
return this;
}
/**
* Set property.
*
* @param key property key
* @param value property value
* @return job configuration builder
*/
public Builder setProperty(final String key, final String value) {
props.setProperty(key, value);
return this;
}
/**
* Set whether disable job when start.
*
* <p>
* Using in job deploy, start job together after deploy.
* </p>
*
* @param disabled whether disable job when start
* @return ElasticJob configuration builder
*/
public Builder disabled(final boolean disabled) {
this.disabled = disabled;
return this;
}
/**
* Set whether overwrite local configuration to registry center when job startup.
*
* <p>
* If overwrite enabled, every startup will use local configuration.
* </p>
*
* @param overwrite whether overwrite local configuration to registry center when job startup
* @return ElasticJob configuration builder
*/
public Builder overwrite(final boolean overwrite) {
this.overwrite = overwrite;
return this;
}
/**
* Set label.
*
* @param label label
* @return ElasticJob configuration builder
*/
public Builder label(final String label) {
this.label = label;
return this;
}
/**
* Set static sharding.
*
* @param staticSharding static sharding
* @return ElasticJob configuration builder
*/
public Builder staticSharding(final boolean staticSharding) {
this.staticSharding = staticSharding;
return this;
}
/**
* Build ElasticJob configuration.
*
* @return ElasticJob configuration
*/
public final JobConfiguration build() {
Preconditions.checkArgument(!Strings.isNullOrEmpty(jobName), "jobName can not be empty.");
Preconditions.checkArgument(shardingTotalCount > 0, "shardingTotalCount should larger than zero.");
return new JobConfiguration(jobName, cron, timeZone, shardingTotalCount, shardingItemParameters, jobParameter,
monitorExecution, failover, misfire, maxTimeDiffSeconds, reconcileIntervalMinutes,
jobShardingStrategyType, jobExecutorThreadPoolSizeProviderType, jobErrorHandlerType, jobListenerTypes,
extraConfigurations, description, props, disabled, overwrite, label, staticSharding);
}
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobExtraConfiguration.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.api;
/**
* Job extra configuration.
*/
public interface JobExtraConfiguration {
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobExtraConfigurationFactory.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.api;
import java.util.Optional;
/**
* Job extra configuration factory.
*/
public interface JobExtraConfigurationFactory {
/**
* Get job extra configuration.
*
* @return job extra configuration
*/
Optional<JobExtraConfiguration> getJobExtraConfiguration();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/ExecutionType.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor;
/**
* Execution type.
*/
public enum ExecutionType {
/**
* Ready of execute.
*/
READY,
/**
* Failover execution.
*/
FAILOVER
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandler.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.error.handler;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
import java.io.Closeable;
/**
* Job error handler.
*/
public interface JobErrorHandler extends TypedSPI, Closeable {
/**
* Handle exception.
*
* @param jobName job name
* @param cause failure cause
*/
void handleException(String jobName, Throwable cause);
@Override
String getType();
@Override
default void close() {
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandlerPropertiesValidator.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.error.handler;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
import java.util.Properties;
/**
* Job error handler properties validator.
*/
@SingletonSPI
public interface JobErrorHandlerPropertiesValidator extends TypedSPI {
/**
* Validate job properties.
*
* @param props job properties
*/
void validate(Properties props);
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/JobItemExecutor.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.item;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
/**
* Job item executor.
*
* @param <T> type of ElasticJob
*/
public interface JobItemExecutor<T extends ElasticJob> {
/**
* Process job item.
*
* @param elasticJob elastic job
* @param jobConfig job configuration
* @param jobRuntimeService job runtime service
* @param shardingContext sharding context
*/
void process(T elasticJob, JobConfiguration jobConfig, JobRuntimeService jobRuntimeService, ShardingContext shardingContext);
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/JobRuntimeService.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.item.param;
/**
* Job runtime service.
*/
public interface JobRuntimeService {
/**
* Judge job whether to need resharding.
*
* @return need resharding or not
*/
boolean isNeedSharding();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/ShardingContext.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.item.param;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
/**
* Sharding context.
*/
@RequiredArgsConstructor
@Getter
@ToString
public final class ShardingContext {
private final String jobName;
private final String taskId;
private final int shardingTotalCount;
private final String jobParameter;
private final int shardingItem;
private final String shardingParameter;
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/ClassedJobItemExecutor.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.item.type;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.spi.executor.item.JobItemExecutor;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
/**
* Classed job item executor.
*
* @param <T> type of ElasticJob
*/
@SingletonSPI
public interface ClassedJobItemExecutor<T extends ElasticJob> extends JobItemExecutor<T> {
/**
* Get elastic job class.
*
* @return elastic job class
*/
Class<T> getElasticJobClass();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/TypedJobItemExecutor.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.executor.item.type;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.spi.executor.item.JobItemExecutor;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
/**
* Typed job item executor.
*/
@SingletonSPI
public interface TypedJobItemExecutor extends JobItemExecutor<ElasticJob>, TypedSPI {
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/ElasticJobListener.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.listener;
import org.apache.shardingsphere.elasticjob.spi.listener.param.ShardingContexts;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
/**
* ElasticJob listener.
*/
public interface ElasticJobListener extends TypedSPI {
int LOWEST = Integer.MAX_VALUE;
/**
* Called before job executed.
*
* @param shardingContexts sharding contexts
*/
void beforeJobExecuted(ShardingContexts shardingContexts);
/**
* Called after job executed.
*
* @param shardingContexts sharding contexts
*/
void afterJobExecuted(ShardingContexts shardingContexts);
/**
* Listener order, default is the lowest.
* @return order
*/
default int order() {
return LOWEST;
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.listener.param;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
import java.io.Serializable;
import java.util.Map;
/**
* Sharding contexts.
*/
@RequiredArgsConstructor
@Getter
@ToString
public final class ShardingContexts implements Serializable {
private static final long serialVersionUID = -4585977349142082152L;
private final String taskId;
private final String jobName;
private final int shardingTotalCount;
private final String jobParameter;
private final Map<Integer, String> shardingItemParameters;
private int jobEventSamplingCount;
@Setter
private int currentJobEventSamplingCount;
@Setter
private boolean allowSendJobEvent = true;
public ShardingContexts(final String taskId, final String jobName, final int shardingTotalCount, final String jobParameter,
final Map<Integer, String> shardingItemParameters, final int jobEventSamplingCount) {
this.taskId = taskId;
this.jobName = jobName;
this.shardingTotalCount = shardingTotalCount;
this.jobParameter = jobParameter;
this.shardingItemParameters = shardingItemParameters;
this.jobEventSamplingCount = jobEventSamplingCount;
}
/**
* Create sharding context.
*
* @param shardingItem sharding item
* @return sharding context
*/
public ShardingContext createShardingContext(final int shardingItem) {
return new ShardingContext(jobName, taskId, shardingTotalCount, jobParameter, shardingItem, shardingItemParameters.get(shardingItem));
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobEvent.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.event;
/**
* Job event.
*/
public interface JobEvent {
/**
* Get job name.
*
* @return job name
*/
String getJobName();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobExecutionEvent.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.event;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.UUID;
/**
* Job execution event.
*/
@AllArgsConstructor
@RequiredArgsConstructor
@Getter
public final class JobExecutionEvent implements JobEvent {
private String id = UUID.randomUUID().toString();
private final String hostname;
private final String ip;
private final String taskId;
private final String jobName;
private final ExecutionSource source;
private final int shardingItem;
private Date startTime = new Date();
@Setter
private Date completeTime;
@Setter
private boolean success;
@Setter
private String failureCause;
/**
* Execution success.
*
* @return job execution event
*/
public JobExecutionEvent executionSuccess() {
JobExecutionEvent result = new JobExecutionEvent(id, hostname, ip, taskId, jobName, source, shardingItem, startTime, completeTime, success, failureCause);
result.setCompleteTime(new Date());
result.setSuccess(true);
return result;
}
/**
* Execution failure.
*
* @param failureCause failure cause
* @return job execution event
*/
public JobExecutionEvent executionFailure(final String failureCause) {
JobExecutionEvent result = new JobExecutionEvent(id, hostname, ip, taskId, jobName, source, shardingItem, startTime, completeTime, success, failureCause);
result.setCompleteTime(new Date());
result.setSuccess(false);
result.setFailureCause(failureCause);
return result;
}
/**
* Execution source.
*/
public enum ExecutionSource {
NORMAL_TRIGGER, MISFIRE, FAILOVER
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobStatusTraceEvent.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.event;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
import java.util.Date;
import java.util.UUID;
/**
* Job status trace event.
*/
@AllArgsConstructor
@RequiredArgsConstructor
@Getter
public final class JobStatusTraceEvent implements JobEvent {
private String id = UUID.randomUUID().toString();
private final String jobName;
@Setter
private String originalTaskId = "";
private final String taskId;
private final String slaveId;
private final ExecutionType executionType;
private final String shardingItems;
private final State state;
private final String message;
private Date creationTime = new Date();
public enum State {
TASK_STAGING, TASK_RUNNING, TASK_FINISHED, TASK_KILLED, TASK_LOST, TASK_FAILED, TASK_ERROR, TASK_DROPPED, TASK_GONE, TASK_GONE_BY_OPERATOR, TASK_UNREACHABLE, TASK_UNKNOWN
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/exception/TracingConfigurationException.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.exception;
/**
* Tracing configuration exception.
*/
public final class TracingConfigurationException extends Exception {
private static final long serialVersionUID = 4069519372148227761L;
public TracingConfigurationException(final Exception ex) {
super(ex);
}
public TracingConfigurationException(final String errorMessage) {
super(errorMessage);
}
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListener.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.listener;
import com.google.common.eventbus.AllowConcurrentEvents;
import com.google.common.eventbus.Subscribe;
import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
/**
* Tracing listener.
*/
public interface TracingListener {
/**
* Listen job execution event.
*
* @param jobExecutionEvent job execution event
*/
@Subscribe
@AllowConcurrentEvents
void listen(JobExecutionEvent jobExecutionEvent);
/**
* Listen job status trace event.
*
* @param jobStatusTraceEvent job status trace event
*/
@Subscribe
@AllowConcurrentEvents
void listen(JobStatusTraceEvent jobStatusTraceEvent);
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListenerFactory.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.listener;
import org.apache.shardingsphere.elasticjob.spi.tracing.exception.TracingConfigurationException;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
/**
* Tracing listener factory.
*
* @param <T> type of tracing storage
*/
@SingletonSPI
public interface TracingListenerFactory<T> extends TypedSPI {
/**
* Create tracing listener.
*
* @param storage storage
* @return tracing listener
* @throws TracingConfigurationException tracing configuration exception
*/
TracingListener create(T storage) throws TracingConfigurationException;
@Override
String getType();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfiguration.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.storage;
/**
* Tracing storage configuration.
*
* @param <T> storage type
*/
public interface TracingStorageConfiguration<T> {
/**
* Create storage.
*
* @return storage
*/
T getStorage();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfigurationConverter.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.tracing.storage;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
/**
* Tracing storage configuration converter.
*
* @param <T> storage type
*/
@SingletonSPI
public interface TracingStorageConfigurationConverter<T> {
/**
* Convert storage to {@link TracingStorageConfiguration}.
*
* @param storage storage instance
* @return instance of {@link TracingStorageConfiguration}
*/
TracingStorageConfiguration<T> toConfiguration(T storage);
/**
* Storage type.
*
* @return class of storage
*/
Class<T> storageType();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfiguration.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.yaml;
import java.io.Serializable;
/**
* YAML configuration.
*
* @param <T> type of configuration
*/
public interface YamlConfiguration<T> extends Serializable {
/**
* Convert to original configuration.
*
* @return configuration
*/
T toConfiguration();
}
================================================
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfigurationConverter.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.yaml;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
/**
* YAML configuration converter.
*
* @param <T> type of original configuration object
* @param <Y> type of YAML configuration
*/
@SingletonSPI
public interface YamlConfigurationConverter<T, Y extends YamlConfiguration<T>> extends TypedSPI {
/**
* Convert to YAML configuration.
*
* @param data data to be converted
* @return YAML configuration
*/
Y convertToYamlConfiguration(T data);
@Override
Class<T> getType();
}
================================================
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobConfigurationTest.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.annotation;
import org.apache.shardingsphere.elasticjob.annotation.job.impl.SimpleTestJob;
import org.apache.shardingsphere.elasticjob.api.JobExtraConfigurationFactory;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
class ElasticJobConfigurationTest {
@Test
void assertAnnotationJob() {
ElasticJobConfiguration annotation = SimpleTestJob.class.getAnnotation(ElasticJobConfiguration.class);
assertThat(annotation.jobName(), is("SimpleTestJob"));
assertThat(annotation.cron(), is("0/5 * * * * ?"));
assertThat(annotation.shardingTotalCount(), is(3));
assertThat(annotation.shardingItemParameters(), is("0=Beijing,1=Shanghai,2=Guangzhou"));
for (Class<? extends JobExtraConfigurationFactory> factory : annotation.extraConfigurations()) {
assertThat(factory, is(SimpleTracingConfigurationFactory.class));
}
assertArrayEquals(annotation.jobListenerTypes(), new String[]{"NOOP", "LOG"});
Queue<String> propsKey = new LinkedList<>(Arrays.asList("print.title", "print.content"));
Queue<String> propsValue = new LinkedList<>(Arrays.asList("test title", "test content"));
for (ElasticJobProp prop : annotation.props()) {
assertThat(prop.key(), is(propsKey.poll()));
assertThat(prop.value(), is(propsValue.poll()));
}
}
}
================================================
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/SimpleTracingConfigurationFactory.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.annotation;
import java.util.Optional;
import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
import org.apache.shardingsphere.elasticjob.api.JobExtraConfigurationFactory;
public final class SimpleTracingConfigurationFactory implements JobExtraConfigurationFactory {
@Override
public Optional<JobExtraConfiguration> getJobExtraConfiguration() {
return Optional.empty();
}
}
================================================
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.annotation.job;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
public interface CustomJob extends ElasticJob {
/**
* Execute custom job.
*
* @param shardingContext sharding context
*/
void execute(ShardingContext shardingContext);
}
================================================
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.annotation.job.impl;
import org.apache.shardingsphere.elasticjob.annotation.ElasticJobConfiguration;
import org.apache.shardingsphere.elasticjob.annotation.ElasticJobProp;
import org.apache.shardingsphere.elasticjob.annotation.SimpleTracingConfigurationFactory;
import org.apache.shardingsphere.elasticjob.annotation.job.CustomJob;
import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
@ElasticJobConfiguration(
cron = "0/5 * * * * ?",
jobName = "SimpleTestJob",
shardingTotalCount = 3,
shardingItemParameters = "0=Beijing,1=Shanghai,2=Guangzhou",
jobListenerTypes = {"NOOP", "LOG"},
extraConfigurations = SimpleTracingConfigurationFactory.class,
props = {
@ElasticJobProp(key = "print.title", value = "test title"),
@ElasticJobProp(key = "print.content", value = "test content")
})
public final class SimpleTestJob implements CustomJob {
@Override
public void execute(final ShardingContext shardingContext) {
}
}
================================================
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/api/JobConfigurationTest.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.api;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
class JobConfigurationTest {
@Test
void assertBuildAllProperties() {
JobConfiguration actual = JobConfiguration.newBuilder("test_job", 3)
.cron("0/1 * * * * ?")
.timeZone("GMT+8")
.shardingItemParameters("0=a,1=b,2=c").jobParameter("param")
.monitorExecution(false).failover(true).misfire(false)
.maxTimeDiffSeconds(1000).reconcileIntervalMinutes(60)
.jobShardingStrategyType("AVG_ALLOCATION").jobExecutorThreadPoolSizeProviderType("SINGLE_THREAD").jobErrorHandlerType("IGNORE")
.description("desc").setProperty("key", "value")
.disabled(true).overwrite(true).build();
assertThat(actual.getJobName(), is("test_job"));
assertThat(actual.getCron(), is("0/1 * * * * ?"));
assertThat(actual.getTimeZone(), is("GMT+8"));
assertThat(actual.getShardingTotalCount(), is(3));
assertThat(actual.getShardingItemParameters(), is("0=a,1=b,2=c"));
assertThat(actual.getJobParameter(), is("param"));
assertFalse(actual.isMonitorExecution());
assertTrue(actual.isFailover());
assertFalse(actual.isMisfire());
assertThat(actual.getMaxTimeDiffSeconds(), is(1000));
assertThat(actual.getReconcileIntervalMinutes(), is(60));
assertThat(actual.getJobShardingStrategyType(), is("AVG_ALLOCATION"));
assertThat(actual.getJobExecutorThreadPoolSizeProviderType(), is("SINGLE_THREAD"));
assertThat(actual.getJobErrorHandlerType(), is("IGNORE"));
assertThat(actual.getDescription(), is("desc"));
assertThat(actual.getProps().getProperty("key"), is("value"));
assertTrue(actual.isDisabled());
assertTrue(actual.isOverwrite());
}
@Test
public void assertBuildRequiredProperties() {
JobConfiguration actual = JobConfiguration.newBuilder("test_job", 3).cron("0/1 * * * * ?").timeZone("GMT+8").build();
assertThat(actual.getJobName(), is("test_job"));
assertThat(actual.getCron(), is("0/1 * * * * ?"));
assertThat(actual.getTimeZone(), is("GMT+8"));
assertThat(actual.getShardingTotalCount(), is(3));
assertThat(actual.getShardingItemParameters(), is(""));
assertThat(actual.getJobParameter(), is(""));
assertTrue(actual.isMonitorExecution());
assertFalse(actual.isFailover());
assertTrue(actual.isMisfire());
assertThat(actual.getMaxTimeDiffSeconds(), is(-1));
assertThat(actual.getReconcileIntervalMinutes(), is(10));
assertNull(actual.getJobShardingStrategyType());
assertNull(actual.getJobExecutorThreadPoolSizeProviderType());
assertNull(actual.getJobErrorHandlerType());
assertThat(actual.getDescription(), is(""));
assertTrue(actual.getProps().isEmpty());
assertFalse(actual.isDisabled());
assertFalse(actual.isOverwrite());
}
@Test
void assertBuildWithEmptyJobName() {
assertThrows(IllegalArgumentException.class, () -> JobConfiguration.newBuilder("", 3).cron("0/1 * * * * ?").build());
}
@Test
void assertBuildWithInvalidShardingTotalCount() {
assertThrows(IllegalArgumentException.class, () -> JobConfiguration.newBuilder("test_job", -1).cron("0/1 * * * * ?").build());
}
}
================================================
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.spi.listener.param;
import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
class ShardingContextsTest {
@Test
void assertCreateShardingContext() {
ShardingContexts shardingContexts = createShardingContexts();
ShardingContext actual = shardingContexts.createShardingContext(1);
assertThat(actual.getJobName(), is(shardingContexts.getJobName()));
assertThat(actual.getTaskId(), is(shardingContexts.getTaskId()));
assertThat(actual.getShardingTotalCount(), is(shardingContexts.getShardingTotalCount()));
assertThat(actual.getJobParameter(), is(shardingContexts.getJobParameter()));
assertThat(actual.getShardingItem(), is(1));
assertThat(actual.getShardingParameter(), is(shardingContexts.getShardingItemParameters().get(1)));
}
private ShardingContexts createShardingContexts() {
Map<Integer, String> map = new HashMap<>(2, 1F);
map.put(0, "A");
map.put(1, "B");
return new ShardingContexts("fake_task_id", "test_job", 2, "", map);
}
}
================================================
FILE: bootstrap/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob</artifactId>
<version>3.0.6-SNAPSHOT</version>
</parent>
<artifactId>elasticjob-bootstrap</artifactId>
<name>${project.artifactId}</name>
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-kernel</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-simple-executor</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-dataflow-executor</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-script-executor</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-http-executor</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-error-handler-normal</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-tracing-rdb</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-reachability-metadata</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-test-util</artifactId>
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
</dependency>
</dependencies>
</project>
================================================
FILE: bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/JobBootstrap.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.bootstrap;
/**
* Job bootstrap.
*/
public interface JobBootstrap {
/**
* Shutdown job.
*/
void shutdown();
}
================================================
FILE: bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/type/OneOffJobBootstrap.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.bootstrap.type;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.apache.shardingsphere.elasticjob.bootstrap.JobBootstrap;
import org.apache.shardingsphere.elasticjob.kernel.internal.annotation.JobAnnotationBuilder;
import org.apache.shardingsphere.elasticjob.kernel.internal.instance.InstanceService;
import org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobScheduler;
import org.apache.shardingsphere.elasticjob.reg.base.CoordinatorRegistryCenter;
/**
* One off job bootstrap.
*/
public class OneOffJobBootstrap implements JobBootstrap {
private final JobScheduler jobScheduler;
private final InstanceService instanceService;
public OneOffJobBootstrap(final CoordinatorRegistryCenter regCenter, final ElasticJob elasticJob, final JobConfiguration jobConfig) {
Preconditions.checkArgument(Strings.isNullOrEmpty(jobConfig.getCron()), "Cron should be empty.");
jobScheduler = new JobScheduler(regCenter, elasticJob, jobConfig);
instanceService = new InstanceService(regCenter, jobConfig.getJobName());
}
public OneOffJobBootstrap(final CoordinatorRegistryCenter regCenter, final String elasticJobType, final JobConfiguration jobConfig) {
Preconditions.checkArgument(Strings.isNullOrEmpty(jobConfig.getCron()), "Cron should be empty.");
jobScheduler = new JobScheduler(regCenter, elasticJobType, jobConfig);
instanceService = new InstanceService(regCenter, jobConfig.getJobName());
}
public OneOffJobBootstrap(final CoordinatorRegistryCenter regCenter, final ElasticJob elasticJob) {
JobConfiguration jobConfig = JobAnnotationBuilder.generateJobConfiguration(elasticJob.getClass());
jobScheduler = new JobScheduler(regCenter, elasticJob, jobConfig);
instanceService = new InstanceService(regCenter, jobConfig.getJobName());
}
/**
* Execute job.
*/
public void execute() {
instanceService.triggerAllInstances();
}
@Override
public void shutdown() {
jobScheduler.shutdown();
}
}
================================================
FILE: bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/type/ScheduleJobBootstrap.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.bootstrap.type;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.apache.shardingsphere.elasticjob.bootstrap.JobBootstrap;
import org.apache.shardingsphere.elasticjob.kernel.internal.annotation.JobAnnotationBuilder;
import org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobScheduler;
import org.apache.shardingsphere.elasticjob.reg.base.CoordinatorRegistryCenter;
/**
* Schedule job bootstrap.
*/
public final class ScheduleJobBootstrap implements JobBootstrap {
private final JobScheduler jobScheduler;
public ScheduleJobBootstrap(final CoordinatorRegistryCenter regCenter, final ElasticJob elasticJob, final JobConfiguration jobConfig) {
jobScheduler = new JobScheduler(regCenter, elasticJob, jobConfig);
}
public ScheduleJobBootstrap(final CoordinatorRegistryCenter regCenter, final String elasticJobType, final JobConfiguration jobConfig) {
jobScheduler = new JobScheduler(regCenter, elasticJobType, jobConfig);
}
public ScheduleJobBootstrap(final CoordinatorRegistryCenter regCenter, final ElasticJob elasticJob) {
JobConfiguration jobConfig = JobAnnotationBuilder.generateJobConfiguration(elasticJob.getClass());
jobScheduler = new JobScheduler(regCenter, elasticJob, jobConfig);
}
/**
* Schedule job.
*/
public void schedule() {
Preconditions.checkArgument(!Strings.isNullOrEmpty(jobScheduler.getJobConfig().getCron()), "Cron can not be empty.");
jobScheduler.getJobScheduleController().scheduleJob(jobScheduler.getJobConfig().getCron(), jobScheduler.getJobConfig().getTimeZone());
}
@Override
public void shutdown() {
jobScheduler.shutdown();
}
}
================================================
FILE: bootstrap/src/test/java/org/apache/shardingsphere/elasticjob/bootstrap/type/OneOffJobBootstrapTest.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.bootstrap.type;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobScheduler;
import org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperConfiguration;
import org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperRegistryCenter;
import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
import org.apache.shardingsphere.elasticjob.test.util.EmbedTestingServer;
import org.apache.shardingsphere.elasticjob.test.util.ReflectionUtils;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
class OneOffJobBootstrapTest {
private static final EmbedTestingServer EMBED_TESTING_SERVER = new EmbedTestingServer();
private static final int SHARDING_TOTAL_COUNT = 3;
private static ZookeeperRegistryCenter zkRegCenter;
@BeforeAll
static void init() {
EMBED_TESTING_SERVER.start();
ZookeeperConfiguration zookeeperConfiguration = new ZookeeperConfiguration(EMBED_TESTING_SERVER.getConnectionString(), OneOffJobBootstrapTest.class.getSimpleName());
zkRegCenter = new ZookeeperRegistryCenter(zookeeperConfiguration);
zkRegCenter.init();
}
@AfterAll
static void tearDown() {
zkRegCenter.close();
}
@Test
void assertConfigFailedWithCron() {
assertThrows(IllegalArgumentException.class, () -> new OneOffJobBootstrap(zkRegCenter, (SimpleJob) shardingContext -> {
}, JobConfiguration.newBuilder("test_one_off_job_execute_with_config_cron", SHARDING_TOTAL_COUNT).cron("0/5 * * * * ?").build()));
}
@Test
void assertExecute() {
AtomicInteger counter = new AtomicInteger(0);
final OneOffJobBootstrap oneOffJobBootstrap = new OneOffJobBootstrap(zkRegCenter,
(SimpleJob) shardingContext -> counter.incrementAndGet(), JobConfiguration.newBuilder("test_one_off_job_execute", SHARDING_TOTAL_COUNT).build());
oneOffJobBootstrap.execute();
blockUtilFinish(oneOffJobBootstrap, counter);
assertThat(counter.get(), is(SHARDING_TOTAL_COUNT));
((JobScheduler) ReflectionUtils.getFieldValue(oneOffJobBootstrap, "jobScheduler")).shutdown();
}
@Test
void assertShutdown() throws SchedulerException {
OneOffJobBootstrap oneOffJobBootstrap = new OneOffJobBootstrap(zkRegCenter, (SimpleJob) shardingContext -> {
}, JobConfiguration.newBuilder("test_one_off_job_shutdown", SHARDING_TOTAL_COUNT).build());
oneOffJobBootstrap.shutdown();
assertTrue(getScheduler(oneOffJobBootstrap).isShutdown());
}
private Scheduler getScheduler(final OneOffJobBootstrap oneOffJobBootstrap) {
JobScheduler jobScheduler = (JobScheduler) ReflectionUtils.getFieldValue(oneOffJobBootstrap, "jobScheduler");
return (Scheduler) ReflectionUtils.getFieldValue(jobScheduler.getJobScheduleController(), "scheduler");
}
private void blockUtilFinish(final OneOffJobBootstrap oneOffJobBootstrap, final AtomicInteger counter) {
Scheduler scheduler = getScheduler(oneOffJobBootstrap);
Awaitility.await().pollDelay(100L, TimeUnit.MILLISECONDS).until(() -> 0 != counter.get() && scheduler.getCurrentlyExecutingJobs().isEmpty());
}
}
================================================
FILE: bootstrap/src/test/java/org/apache/shardingsphere/elasticjob/bootstrap/type/ScheduleJobBootstrapTest.java
================================================
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.elasticjob.bootstrap.type;
import lombok.extern.slf4j.Slf4j;
import org.apache.curator.CuratorZookeeperClient;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.test.TestingServer;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.apache.shardingsphere.elasticjob.reg.base.CoordinatorRegistryCenter;
import org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperConfiguration;
import org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperRegistryCenter;
import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.quartz.core.JobRunShell;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.time.Duration;
import java.time.LocalTime;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
@Slf4j
class ScheduleJobBootstrapTest {
private TestingServer testingServer;
private CoordinatorRegistryCenter regCenter;
@BeforeEach
void beforeEach() throws Exception {
testingServer = new TestingServer();
try (
CuratorZookeeperClient client = new CuratorZookeeperClient(testingServer.getConnectString(),
60000, 500, null,
new ExponentialBackoffRetry(500, 3, 1500))) {
client.start();
Awaitility.await().atMost(Duration.ofSeconds(30L)).ignoreExceptions().until(client::isConnected);
}
regCenter = new ZookeeperRegistryCenter(new ZookeeperConfiguration(testingServer.getConnectString(), "elasticjob-test"));
regCenter.init();
}
@AfterEach
void afterEach() throws IOException {
regCenter.close();
testingServer.close();
}
@Test
void testWhenShutdownThenTaskCanCaptureInterruptedException() {
Logger jobRunShell = (Logger) LoggerFactory.getLogger(JobRunShell.class.getName());
Logger errorLogger = (Logger) LoggerFactory.getLogger("org.quartz.core.ErrorLogger");
Level originJobRunShellLevel = jobRunShell.getLevel();
Level originErrorLoggerLevel = errorLogger.getLevel();
try {
jobRunShell.setLevel(Level.OFF);
errorLogger.setLevel(Level.OFF);
testCaptureInterruptedException(1);
testCaptureInterruptedException(2);
} finally {
jobRunShell.setLevel(originJobRunShellLevel);
errorLogger.setLevel(originErrorLoggerLevel);
}
}
@SuppressWarnings({"InfiniteLoopStatement", "BusyWait"})
private void testCaptureInterruptedException(final int shardingTotalCount) {
String jobName = "testTaskCaptureInterruptedTask" + shardingTotalCount;
AtomicBoolean captured = new AtomicBoolean(false);
AtomicBoolean running = new AtomicBoolean(false);
LocalTime magicTime = LocalTime.now().plusSeconds(2L);
String cronExpression = String.format("%d %d %d * * ?", magicTime.getSecond(), magicTime.getMinute(), magicTime.getHour());
SimpleJob job = shardingContext -> {
try {
running.set(true);
while (true) {
Thread.sleep(100L);
}
} catch (final InterruptedException ex) {
captured.set(true);
Thread.currentThread().interrupt();
}
};
ScheduleJobBootstrap bootstrap = new ScheduleJobBootstrap(regCenter, job, JobConfiguration.newBuilder(jobName, shardingTotalCount).cron(cronExpression).build());
bootstrap.schedule();
Awaitility.await().atMost(30L, TimeUnit.SECONDS).ignoreExceptions().until(running::get);
bootstrap.shutdown();
Awaitility.await().atMost(10L, TimeUnit.SECONDS).ignoreExceptions().until(captured::get);
}
}
================================================
FILE: bootstrap/src/test/resources/logback-test.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<configuration>
<property name="log.context.name" value="elasticjob-test" />
<property name="log.charset" value="UTF-8" />
<property name="log.pattern" value="[%-5level] %date --%thread-- [%logger] %msg %n" />
<contextName>${log.context.name}</contextName>
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder charset="${log.charset}">
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<root>
<appender-ref ref="STDOUT" />
</root>
<logger name="org.apache.shardingsphere.elasticjob.kernel.internal.snapshot.SnapshotService" level="OFF" />
<logger name="org.apache.curator.framework.listen.MappingListenerManager" level="OFF" />
</configuration>
================================================
FILE: distribution/bin/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-distribution</artifactId>
<version>3.0.6-SNAPSHOT</version>
</parent>
<artifactId>elasticjob-bin-distribution</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-bootstrap</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-spring-namespace</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-spring-boot-starter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-error-handler-dingtalk</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-error-handler-email</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-error-handler-wechat</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>lite-bin</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptors>
<descriptor>src/main/assembly/elasticjob-binary-distribution.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.nicoulaj.maven.plugins</groupId>
<artifactId>checksum-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
================================================
FILE: distribution/bin/src/main/assembly/elasticjob-binary-distribution.xml
================================================
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>lite-bin</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>${project.build.finalName}-bin</baseDirectory>
<fileSets>
<fileSet>
<directory>../../</directory>
<includes>
<include>LICENSE</include>
<include>NOTICE</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/release-docs</directory>
<includes>
<include>**/*</include>
</includes>
<outputDirectory>.</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<useProjectArtifact>true</useProjectArtifact>
<unpack>false</unpack>
<outputDirectory>./lib</outputDirectory>
<includes>
<include>org.apache.shardingsphere.elasticjob:*</include>
</includes>
</dependencySet>
</dependencySets>
</assembly>
================================================
FILE: distribution/bin/src/main/release-docs/README.txt
================================================
Welcome to Apache ShardingSphere-ElasticJob
===============================================================================
ElasticJob is a distributed scheduling solution.
Through the functions of flexible scheduling, resource management and job management,
it creates a distributed scheduling solution suitable for Internet scenarios,
and provides a diversified job ecosystem through open architecture design.
It uses a unified job API for each project.
Developers only need code one time and can deploy at will.
ElasticJob is a lightweight, decentralized solution that provides distributed task sharding services.
ElasticJob became an Apache ShardingSphere Sub project on May 28 2020.
Getting Started
===============================================================================
To help you get started, try the following links:
Getting Started
https://shardingsphere.apache.org/elasticjob/current/en/quick-start/
We welcome contributions of all kinds, for details of how you can help
https://shardingsphere.apache.org/community/en/contribute/
Find the issue tracker from here
https://github.com/apache/shardingsphere-elasticjob/issues
Please help us make Apache ShardingSphere-ElasticJob better - we appreciate any feedback you may have.
Have fun!
================================================
FILE: distribution/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob</artifactId>
<version>3.0.6-SNAPSHOT</version>
</parent>
<artifactId>elasticjob-distribution</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<modules>
<module>src</module>
<module>bin</module>
</modules>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
</project>
================================================
FILE: distribution/src/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-distribution</artifactId>
<version>3.0.6-SNAPSHOT</version>
</parent>
<artifactId>elasticjob-src-distribution</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>src</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptors>
<descriptor>src/main/assembly/source-distribution.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.nicoulaj.maven.plugins</groupId>
<artifactId>checksum-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
================================================
FILE: distribution/src/src/main/assembly/source-distribution.xml
================================================
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>src</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>${project.build.finalName}-src-release</baseDirectory>
<fileSets>
<fileSet>
<directory>../../</directory>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>**/*</include>
</includes>
<excludes>
<!-- github ignore -->
<exclude>**/.github/**</exclude>
<exclude>.travis.yml</exclude>
<!-- maven ignore -->
<exclude>**/target/**</exclude>
<exclude>**/*.class</exclude>
<exclude>**/*.jar</exclude>
<exclude>**/*.war</exclude>
<exclude>**/*.zip</exclude>
<exclude>**/*.tar</exclude>
<exclude>**/*.tar.gz</exclude>
<exclude>**/.flattened-pom.xml</exclude>
<!-- maven plugin ignore -->
<exclude>release.properties</exclude>
<exclude>**/pom.xml.releaseBackup</exclude>
<exclude>**/cobertura.ser</exclude>
<exclude>*.gpg</exclude>
<!-- eclipse ignore -->
<exclude>**/.settings/**</exclude>
<exclude>**/.project</exclude>
<exclude>**/.classpath</exclude>
<!-- idea ignore -->
<exclude>**/.idea/**</exclude>
<exclude>**/*.ipr</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.iws</exclude>
<!-- temp ignore -->
<exclude>**/logs/**</exclude>
<exclude>**/*.log</exclude>
<exclude>**/*.doc</exclude>
<exclude>**/*.cache</exclude>
<exclude>**/*.diff</exclude>
<exclude>**/*.patch</exclude>
<exclude>**/*.tmp</exclude>
<!-- system ignore -->
<exclude>**/.DS_Store</exclude>
<exclude>**/Thumbs.db</exclude>
<!-- modules ignore -->
<exclude>docs/**</exclude>
<exclude>examples/**</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>
================================================
FILE: docs/README.md
================================================
本文档使用[hugo](http://gohugo.io/overview/introduction/)生成文档。
同时使用主题[hugo theme learn](https://github.com/matcornic/hugo-theme-learn)来作为文档风格。
================================================
FILE: docs/archetypes/default.md
================================================
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---
================================================
FILE: docs/build.sh
================================================
#!/bin/bash
cd `dirname $0`
rm -rf public
hugo
find ./ -name '*.html' -exec sed -i -e 's|[[:space:]]*<option id="\([a-zA-Z]\+\)" value="|<option id="\1" value="/elasticjob/current|g' {} \;
cd public/en
sed -i -e 's/cn/en/g' index.html
cd ..
================================================
FILE: docs/config.toml
================================================
baseURL = "https://shardingsphere.apache.org/elasticjob/current/"
canonifyurls = true
languageCode = "en-us"
title = "ElasticJob"
theme = "hugo-theme-learn"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir= true
[Languages]
[Languages.en]
#baseURL = "https://shardingsphere.apache.org/elasticjob/current/"
title = "ElasticJob"
weight = 1
languageName = "English"
[Languages.cn]
#baseURL = "https://shardingsphere.apache.org/elasticjob/current/"
title = "ElasticJob"
weight = 2
languageName = "简体中文"
[params]
# Change default color scheme with a variant one. Can be "red", "blue", "green".
themeVariant = "white"
# Disable search function. It will hide search bar
disableSearch = false
editURL = "https://github.com/apache/shardingsphere-elasticjob/tree/master/docs/content/"
[markup]
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
================================================
FILE: docs/content/blog/_index.cn.md
================================================
+++
pre = "<b>9. </b>"
title = "博客"
weight = 9
chapter = true
+++
* 2020-07 [InfoQ文章:ElasticJob的产品定位与新版本设计理念](https://www.infoq.cn/article/ZcEsH20kUCB9QP1O1PNt)
* 2020-07 [开源中国:GitHub上持续冲榜,ElasticJob重启](https://mp.weixin.qq.com/s/QLKjn_dfVG2OBxbnrwDl5w)
* 2020-05 [官微快讯:分布式调度项目ElasticJob即将重新起航](https://mp.weixin.qq.com/s/XJFj_vOj3bR6HRQUzy1ikg)
* 2017-09 [Mesosphere新闻:Q&A with Zhang Liang of Dangdang: the biggest book seller in China](https://mesosphere.com/blog/qa-dangdang-book-seller-china/?from=timeline&isappinstalled=0)
* 2017-04 [InfoQ新闻:分布式调度中间件Elastic-Job 2.1.0发布:Cloud Native里程碑版本](http://www.infoq.com/cn/news/2017/04/Elastic-Job-2.1.0)
* 2017-03 [源码分析:Elastic-Job项目源码分析系列](http://blog.csdn.net/spy19881201/article/category/6784965)
* 2015-12 [InfoQ文章:详解当当网的分布式作业框架elastic-job](http://www.infoq.com/cn/articles/dangdang-distributed-work-framework-elastic-job)
* 2015-11 [高可用架构群分享:新一代分布式任务调度框架,elastic-job开源项目的10项特性](http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=401047377&idx=1&sn=2a88e5b10d80e2b8bee289abd2fe4bd1&scene=23&srcid=1105c4GbpUGl6I6PyvRsRWxJ#rd)
* 2015-11 [CSDN专访:深度解读分布式作业调度框架elastic-job](http://www.csdn.net/article/2015-11-23/2826304)
* 2015-09 [InfoQ新闻:当当开源elastic-job,分布式作业调度框架](http://www.infoq.com/cn/news/2015/09/dangdang-elastic-job)
================================================
FILE: docs/content/blog/_index.en.md
================================================
+++
pre = "<b>9. </b>"
title = "Blog"
weight = 9
chapter = true
+++
TODO
================================================
FILE: docs/content/dev-manual/_index.cn.md
================================================
+++
pre = "<b>5. </b>"
title = "开发者手册"
weight = 5
chapter = true
+++
ElasticJob 可插拔架构提供了 SPI 的扩展点。
对于开发者来说,可以十分方便的对功能进行定制化扩展。
本章节将 ElasticJob 的 SPI 扩展点悉数列出。
如无特殊需求,用户可以使用 ElasticJob 提供的内置实现;
高级用户则可以参考各个功能模块的接口进行自定义实现。
ElasticJob 社区非常欢迎开发者将自己的实现类反馈至[开源社区](https://github.com/apache/shardingsphere-elasticjob/pulls),让更多用户从中收益。
================================================
FILE: docs/content/dev-manual/_index.en.md
================================================
+++
pre = "<b>5. </b>"
title = "Dev Manual"
weight = 5
chapter = true
+++
ElasticJob provides dozens of SPI based extensions.
it is very convenient to customize the functions for developers.
This chapter lists all SPI extensions of ElasticJob.
If there is no special requirement, users can use the built-in implementation provided by ElasticJob;
advanced users can refer to the interfaces for customized implementation.
ElasticJob community welcomes developers to feed back their implementations to the [open-source community](https://github.com/apache/shardingsphere-elasticjob/pulls),
so that more users can benefit from it.
================================================
FILE: docs/content/dev-manual/error-handler.cn.md
================================================
+++
pre = "<b>5.3. </b>"
title = "错误处理策略"
weight = 3
+++
错误处理策略,用于作业失败时的处理策略。
| *SPI 名称* | *详细说明* |
| ----------------------- | --------------------------------- |
| JobErrorHandler | 作业执行错误处理策略 |
| *已知实现类* | *详细说明* |
| ----------------------- | --------------------------------- |
| LogJobErrorHandler | 记录作业异常日志,但不中断作业执行 |
| ThrowJobErrorHandler | 抛出系统异常并中断作业执行 |
| IgnoreJobErrorHandler | 忽略系统异常且不中断作业执行 |
| EmailJobErrorHandler | 发送邮件消息通知,但不中断作业执行 |
| WechatJobErrorHandler | 发送企业微信消息通知,但不中断作业执行 |
| DingtalkJobErrorHandler | 发送钉钉消息通知,但不中断作业执行 |
================================================
FILE: docs/content/dev-manual/error-handler.en.md
================================================
+++
pre = "<b>5.3. </b>"
title = "Error Handler"
weight = 3
+++
Error handler strategy, used to handle error when exception occur during job execution.
| *SPI Name* | *Description* |
| ------------------------ | ----------------------------------------------------------- |
| JobErrorHandler | Job error handler |
| *Implementation Class* | *Description* |
| ------------------------ | ----------------------------------------------------------- |
| LogJobErrorHandler | Log error and do not interrupt job |
| ThrowJobErrorHandler | Throw system exception and interrupt job |
| IgnoreJobErrorHandler | Ignore exception and do not interrupt job |
| EmailJobErrorHandler | Send email message notification and do not interrupt job |
| WechatJobErrorHandler | Send wechat message notification and do not interrupt job |
| DingtalkJobErrorHandler | Send dingtalk message notification and do not interrupt job |
================================================
FILE: docs/content/dev-manual/job-class-provider.cn.md
================================================
+++
pre = "<b>5.4. </b>"
title = "作业类名称提供策略"
weight = 4
+++
作业类名称提供策略,用于在不同的容器环境下提供准确的作业类名称。
| *SPI 名称* | *详细说明* |
| ------------------------------- | --------------------------------- |
| JobClassNameProvider | 作业类名称提供策略 |
| *已知实现类* | *详细说明* |
| ------------------------------- | --------------------------------- |
| DefaultJobClassNameProvider | 标准环境下的作业类名称提供策略 |
| SpringProxyJobClassNameProvider | Spring 容器环境下的作业类名称提供策略 |
================================================
FILE: docs/content/dev-manual/job-class-provider.en.md
================================================
+++
pre = "<b>5.4. </b>"
title = "Job Class Name Provider"
weight = 4
+++
Job class name provider, used to provide job class name in different contain environments.
| *SPI Name* | *Description* |
| ------------------------------- | ------------------------------------------------------- |
| JobClassNameProvider | Job class name provider |
| *Implementation Class* | *Description* |
| ------------------------------- | ------------------------------------------------------- |
| DefaultJobClassNameProvider | Job class name provider in standard environment |
| SpringProxyJobClassNameProvider | Job class name provider in Spring container environment |
================================================
FILE: docs/content/dev-manual/roadmap.cn.md
================================================
+++
pre = "<b>5.5. </b>"
title = "线路规划"
weight = 5
chapter = true
+++
- [x] Unified Job Config API
- [x] Core Config
- [x] Type Config
- [x] Root Config
- [x] Job Types
- [x] Simple
- [x] Dataflow
- [x] Script
- [x] Http(3.0.0-beta 提供)
- [x] Event Trace
- [x] Event Publisher
- [x] Database Event Listener
- [ ] Other Event Listener
- [ ] Unified Schedule API
- [ ] Unified Resource API
- [x] Distributed Features
- [x] High Availability
- [x] Elastic scale in/out
- [x] Failover
- [x] Misfire
- [x] Idempotency
- [x] Reconcile
- [x] Registry Center
- [x] ZooKeeper
- [ ] Other Registry Center Supported
- [x] Lifecycle Management
- [x] Add/Remove
- [x] Pause/Resume
- [x] Disable/Enable
- [x] Shutdown
- [x] Restful API
- [x] Web Console
- [x] Job Dependency
- [x] Listener
- [ ] DAG
- [x] Spring Integrate
- [x] Namespace
- [x] Bean Injection
- [x] Spring Boot Starter(3.0.0-alpha 提供)
================================================
FILE: docs/content/dev-manual/roadmap.en.md
================================================
+++
pre = "<b>5.5. </b>"
title = "Roadmap"
weight = 5
chapter = true
+++
- [x] Unified Job Config API
- [x] Core Config
- [x] Type Config
- [x] Root Config
- [x] Job Types
- [x] Simple
- [x] Dataflow
- [x] Script
- [x] Http (Since 3.0.0-beta)
- [x] Event Trace
- [x] Event Publisher
- [x] Database Event Listener
- [ ] Other Event Listener
- [ ] Unified Schedule API
- [ ] Unified Resource API
- [x] Distributed Features
- [x] High Availability
- [x] Elastic scale in/out
- [x] Failover
- [x] Misfire
- [x] Idempotency
- [x] Reconcile
- [x] Registry Center
- [x] ZooKeeper
- [ ] Other Registry Center Supported
- [x] Lifecycle Management
- [x] Add/Remove
- [x] Pause/Resume
- [x] Disable/Enable
- [x] Shutdown
- [x] Restful API
- [x] Web Console
- [x] Job Dependency
- [x] Listener
- [ ] DAG
- [x] Spring Integrate
- [x] Namespace
- [x] Bean Injection
- [x] Spring Boot Starter (Since 3.0.0-alpha)
================================================
FILE: docs/content/dev-manual/sharding.cn.md
================================================
+++
pre = "<b>5.1. </b>"
title = "作业分片策略"
weight = 1
chapter = true
+++
作业分片策略,用于将作业在分布式环境下分解成为任务使用。
| *SPI 名称* | *详细说明* |
| ------------------------------------- | ------------------------------------------------------------- |
| JobShardingStrategy | 作业分片策略 |
| *已知实现类* | *详细说明* |
| ------------------------------------- | -------------------------------------------------------------- |
| AverageAllocationJobShardingStrategy | 根据分片项平均分片 |
| OdevitySortByNameJobShardingStrategy | 根据作业名称哈希值的奇偶数决定按照作业服务器 IP 升序或是降序的方式分片 |
| RotateServerByNameJobShardingStrategy | 根据作业名称轮询分片 |
================================================
FILE: docs/content/dev-manual/sharding.en.md
================================================
+++
pre = "<b>5.1. </b>"
title = "Job Sharding Strategy"
weight = 1
chapter = true
+++
Job Sharding Strategy, used to sharding job to distributed tasks.
| *SPI Name* | *Description* |
| ------------------------------------- | ----------------------------------------------------------- |
| JobShardingStrategy | Job sharding strategy |
| *Implementation Class* | *Description* |
| ------------------------------------- | ----------------------------------------------------------- |
| AverageAllocationJobShardingStrategy | Sharding or average by sharding item |
| OdevitySortByNameJobShardingStrategy | Sharding for hash with job name to determine IP asc or desc |
| RotateServerByNameJobShardingStrategy | Sharding for round robin by name job |
================================================
FILE: docs/content/dev-manual/thread-pool.cn.md
================================================
+++
pre = "<b>5.2. </b>"
title = "线程池策略"
weight = 2
+++
线程池策略,用于执行作业的线程池创建。
| *SPI 名称* | *详细说明* |
|-----------------------------------|--------------|
| JobExecutorThreadPoolSizeProvider | 作业执行线程数量提供策略 |
| *已知实现类* | *详细说明* |
|-----------------------------------------------|-------------------------|
| CPUUsageJobExecutorThreadPoolSizeProvider | 根据 CPU 核数 * 2 创建作业处理线程池 |
| SingleThreadJobExecutorThreadPoolSizeProvider | 使用单线程处理作业 |
================================================
FILE: docs/content/dev-manual/thread-pool.en.md
================================================
+++
pre = "<b>5.2. </b>"
title = "Thread Pool Strategy"
weight = 2
+++
Thread pool strategy, used to create thread pool for job execution.
| *SPI Name* | *Description* |
|-----------------------------------|----------------------------------------|
| JobExecutorThreadPoolSizeProvider | Job executor thread pool size provider |
| *Implementation Class* | *Description* |
|-----------------------------------------------|--------------------------------------------------------|
| CPUUsageJobExecutorThreadPoolSizeProvider | Use CPU available processors * 2 to create thread pool |
| SingleThreadJobExecutorThreadPoolSizeProvider | Use single thread to execute job |
================================================
FILE: docs/content/downloads/_index.cn.md
================================================
+++
pre = "<b>6. </b>"
title = "下载"
weight = 6
chapter = true
extracss = true
+++
## 最新版本
ElasticJob 的发布版包括源码包及其对应的二进制包。
由于下载内容分布在镜像服务器上,所以下载后应该进行 GPG 或 SHA-512 校验,以此来保证内容没有被篡改。
##### ElasticJob - 版本: 3.0.5 ( 发布日期: Feb 7, 2026 )
https://www.apache.org/dyn/closer.lua/PROJECT/VERSION/SOURCE-RELEASE
- 源码: [ [SRC](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-src.zip) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-src.zip.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-src.zip.sha512) ]
- ElasticJob 二进制包: [ [TAR](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-lite-bin.tar.gz) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-lite-bin.tar.gz.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-lite-bin.tar.gz.sha512) ]
##### ElasticJob-UI - 版本: 3.0.2 ( 发布日期: Oct 31, 2022 )
- 源码: [ [SRC](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-ui-src.zip) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-ui-src.zip.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-ui-src.zip.sha512) ]
- ElasticJob-UI 二进制包: [ [TAR](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-lite-ui-bin.tar.gz) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-lite-ui-bin.tar.gz.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-lite-ui-bin.tar.gz.sha512) ]
即将发布
## 全部版本
全部版本请到 [Archive repository](https://archive.apache.org/dist/shardingsphere/) 查看。
## 校验版本
[PGP签名文件](https://downloads.apache.org/shardingsphere/KEYS)
使用 PGP 或 SHA 签名验证下载文件的完整性至关重要。
可以使用 GPG 或 PGP 验证 PGP 签名。
请下载 KEYS 以及发布的 asc 签名文件。
建议从主发布目录而不是镜像中获取这些文件。
```shell
gpg -i KEYS
```
或者
```shell
pgpk -a KEYS
```
或者
```shell
pgp -ka KEYS
```
要验证二进制文件或源代码,您可以从主发布目录下载相关的 asc 文件,并按照以下指南进行操作。
```shell
gpg --verify apache-shardingsphere-elasticjob-********.asc apache-shardingsphere-elasticjob-*********
```
或者
```shell
pgpv apache-shardingsphere-elasticjob-********.asc
```
或者
```shell
pgp apache-shardingsphere-elasticjob-********.asc
```
================================================
FILE: docs/content/downloads/_index.en.md
================================================
+++
pre = "<b>6. </b>"
title = "Downloads"
weight = 6
chapter = true
extracss = true
+++
## Latest Releases
ElasticJob is released as source code tarballs with corresponding binary tarballs for convenience.
The downloads are distributed via mirror sites and should be checked for tampering using GPG or SHA-512.
##### ElasticJob - Version: 3.0.5 ( Release Date: Feb 7, 2026 )
- Source Codes: [ [SRC](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-src.zip) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-src.zip.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-src.zip.sha512) ]
- ElasticJob Binary Distribution: [ [TAR](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-lite-bin.tar.gz) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-lite-bin.tar.gz.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-3.0.5/apache-shardingsphere-elasticjob-3.0.5-lite-bin.tar.gz.sha512) ]
##### ElasticJob-UI - Version: 3.0.2 ( Release Date: Oct 31, 2022 )
- Source Codes: [ [SRC](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-ui-src.zip) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-ui-src.zip.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-ui-src.zip.sha512) ]
- ElasticJob-UI Binary Distribution: [ [TAR](https://www.apache.org/dyn/closer.lua/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-lite-ui-bin.tar.gz) ] [ [ASC](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-lite-ui-bin.tar.gz.asc) ] [ [SHA512](https://downloads.apache.org/shardingsphere/elasticjob-ui-3.0.2/apache-shardingsphere-elasticjob-3.0.2-lite-ui-bin.tar.gz.sha512) ]
## All Releases
Find all releases in the [Archive repository](https://archive.apache.org/dist/shardingsphere/).
## Verify the Releases
[PGP signatures KEYS](https://downloads.apache.org/shardingsphere/KEYS)
It is essential that you verify the integrity of the downloaded files using the PGP or SHA signatures.
The PGP signatures can be verified using GPG or PGP. Please download the KEYS as well as the asc signature files for relevant distribution.
It is recommended to get these files from the main distribution directory and not from the mirrors.
```shell
gpg -i KEYS
```
or
```shell
pgpk -a KEYS
```
or
```shell
pgp -ka KEYS
```
To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.
```shell
gpg --verify apache-shardingsphere-********.asc apache-shardingsphere-elasticjob-*********
```
or
```shell
pgpv apache-shardingsphere-elasticjob-********.asc
```
or
```shell
pgp apache-shardingsphere-elasticjob-********.asc
```
================================================
FILE: docs/content/faq/_index.cn.md
================================================
+++
pre = "<b>8. </b>"
title = "FAQ"
weight = 8
chapter = true
+++
## 1. 阅读源码时为什么会出现编译错误?
回答:
ElasticJob 使用 lombok 实现极简代码。关于更多使用和安装细节,请参考 [lombok 官网](https://projectlombok.org/download)。
## 2. 是否支持动态添加作业?
回答:
动态添加作业这个概念每个人理解不尽相同。
ElasticJob 为 jar 包,由开发或运维人员负责启动。启动时自动向注册中心注册作业信息并进行分布式协调,因此并不需要手工在注册中心填写作业信息。
但注册中心与作业部署机无从属关系,注册中心并不能控制将单点的作业分发至其他作业机,也无法将远程服务器未启动的作业启动。
ElasticJob 并不会包含 ssh 免密管理等功能。
综上所述,ElasticJob 已做了基本动态添加功能,但无法做到真正意义的完全自动化添加。
## 3. 为什么在代码或配置文件中修改了作业配置,注册中心配置却没有更新?
回答:
ElasticJob 采用无中心化设计,若每个客户端的配置不一致,不做控制的话,最后一个启动的客户端配置将会成为注册中心的最终配置。
ElasticJob 提出了 overwrite 概念,可通过 JobConfiguration 或 Spring 命名空间配置。
`overwrite=true` 即允许客户端配置覆盖注册中心,反之则不允许。
如果注册中心无相关作业的配置,则无论 overwrite 是否配置,客户端配置都将写入注册中心。
## 4. 作业与注册中心无法通信会如何?
回答:
为了保证作业的在分布式场景下的一致性,一旦作业与注册中心无法通信,运行中的作业会立刻停止执行,但作业的进程不会退出。
这样做的目的是为了防止作业重分片时,将与注册中心失去联系的节点执行的分片分配给另外节点,导致同一分片在两个节点中同时执行。
当作业节点恢复与注册中心联系时,将重新参与分片并恢复执行新的分配到的分片。
## 5. ElasticJob 有何使用限制?
回答:
* 作业启动成功后修改作业名称视为新作业,原作业废弃。
* 一旦有服务器波动,或者修改分片项,将会触发重新分片;触发重新分片将会导致运行中的流式处理的作业在执行完本次作业后不再继续执行,等待分片结束后再恢复正常。
* 开启 monitorExecution 才能实现分布式作业幂等性(即不会在多个作业服务器运行同一个分片)的功能,但 monitorExecution 对短时间内执行的作业(如秒级触发)性能影响较大,建议关闭并自行实现幂等性。
## 6. 怀疑 ElasticJob 在分布式环境中有问题,但无法重现又不能在线上环境调试,应该怎么做?
回答:
分布式问题非常难于调试和重现,为此 ElasticJob 提供了 dump 命令。
如果您怀疑某些场景出现问题,可参照[作业信息导出](/cn/user-manual/elasticjob/operation/dump/)将作业运行时信息提交至社区。
ElasticJob 已将 IP 地址等敏感信息过滤,导出的信息可在公网安全传输。
## 7. 控制台界面无法正常显示?
回答:
使用控制台时应确保与 ElasticJob 相关版本保持一致,否则会导致不可用。
## 8. 为什么控制台界面中的作业状态是分片待调整?
回答:
分片待调整表示作业已启动但尚未获得分片时的状态。
## 9. 为什么首次启动存在任务调度延迟的情况?
回答:
ElasticJob 执行任务会获取本机IP,首次可能存在获取IP较慢的情况。尝试设置 `-Djava.net.preferIPv4Stack=true`.
## 10. Windows环境下,运行ShardingSphere-ElasticJob-UI,找不到或无法加载主类 org.apache.shardingsphere.elasticjob.kernel.ui.Bootstrap,如何解决?
回答:
某些解压缩工具在解压ShardingSphere-ElasticJob-UI二进制包时可能将文件名截断,导致找不到某些类。
解决方案:
打开cmd.exe并执行下面的命令:
```bash
tar zxvf apache-shardingsphere-elasticjob-${RELEASE.VERSION}-lite-ui-bin.tar.gz
```
## 11. 运行 Cloud Scheduler 持续输出日志 "Elastic job: IP:PORT has leadership",不能正常运行
回答:
Cloud Scheduler 依赖 Mesos 库,启动时需要通过 `-Djava.library.path` 指定 Mesos 库所在目录。
例如,Mesos 库位于 `/usr/local/lib`,启动 Cloud Scheduler 前需要设置 `-Djava.library.path=/usr/local/lib`。
Mesos 相关请参考 [Apache Mesos](https://mesos.apache.org/)。
## 12. 在多网卡的情况下无法获取到合适的 IP
回答:
可以通过系统变量 `elasticjob.preferred.network.interface` 指定网卡或 `elasticjob.preferred.network.ip` 指定IP地址。
例如:
1. 指定网卡 eno1:`-Delasticjob.preferred.network.interface=eno1`。
1. 指定IP地址 192.168.0.100:`-Delasticjob.preferred.network.ip=192.168.0.100`。
1. 泛指IP地址(正则表达式) 192.168.*:`-Delasticjob.preferred.network.ip=192.168.*`。
## 13. zk授权升级,在滚动部署过程中出现实例假死,回退到历史版本也依然存在假死。
回答:
在滚动部署过程中,会触发竞争选举leader,有密码的实例会给zk目录加密导致无密码的实例不可访问,最终导致整体选举阻塞。
例如:
通过日志可以发现会抛出-102异常:
```bash
xxxx-07-27 22:33:55.224 [DEBUG] [localhost-startStop-1-EventThread] [] [] [] - o.a.c.f.r.c.TreeCache : processResult: CuratorEventImpl{type=GET_DATA, resultCode=-102, path='/xxx/leader/election/latch/_c_bccccdcc-1134-4e0a-bb52-59a13836434a-latch-0000000047', name='null', children=null, context=null, stat=null, data=null, watchedEvent=null, aclList=null}
```
解决方案:
1.如果您在升级的过程中出现回退历史版本也依然假死的问题,建议删除zk上所有作业目录,之后再重启历史版本。
2.计算出合理的作业执行间隙,比如晚上21:00-21:30作业不会触发,在此期间先将实例全部停止,然后将带密码的版本全部部署上线。
================================================
FILE: docs/content/faq/_index.en.md
================================================
+++
pre = "<b>8. </b>"
title = "FAQ"
weight = 8
chapter = true
+++
## 1. Why do some compiling errors appear?
Answer:
`ElasticJob` uses `lombok` to enable minimal coding. For more details about using and installment, please refer to the official website of [lombok](https://projectlombok.org/download).
## 2. Does ElasticJob support dynamically adding jobs?
Answer:
For the concept of dynamically adding job, everyone has a different understanding.
`ElasticJob` is provided in jar package, which is started by developers or operation. When the job is started, it will automatically register job information to the registry center, and the registry center will perform distributed coordination, so there is no need to manually add job information in the registry center.
However, registry center has no affiliation with the job server, can't control the distribution of single-point jobs to other job machines, and also can't start the job of remote server.
`ElasticJob` doesn't support ssh secret management and other functions.
In summary, `ElasticJob` has supported basic dynamically adding jobs, but it can't be fully automated.
## 3. Why is the job configuration modified in the code or Spring XML file, but the registry center is not updated?
Answer:
`ElasticJob` adopts a decentralized design. If the configuration of each client is inconsistent and is not controlled, the configuration of the client which is last started will be the
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
Showing preview only (271K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2686 symbols across 553 files)
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/ElasticJob.java
type ElasticJob (line 23) | public interface ElasticJob {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobConfiguration.java
class JobConfiguration (line 36) | @Getter
method newBuilder (line 91) | public static Builder newBuilder(final String jobName, final int shard...
class Builder (line 95) | @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
method cron (line 148) | public Builder cron(final String cron) {
method timeZone (line 161) | public Builder timeZone(final String timeZone) {
method shardingItemParameters (line 181) | public Builder shardingItemParameters(final String shardingItemParam...
method jobParameter (line 195) | public Builder jobParameter(final String jobParameter) {
method monitorExecution (line 214) | public Builder monitorExecution(final boolean monitorExecution) {
method failover (line 229) | public Builder failover(final boolean failover) {
method misfire (line 240) | public Builder misfire(final boolean misfire) {
method maxTimeDiffSeconds (line 256) | public Builder maxTimeDiffSeconds(final int maxTimeDiffSeconds) {
method reconcileIntervalMinutes (line 271) | public Builder reconcileIntervalMinutes(final int reconcileIntervalM...
method jobShardingStrategyType (line 286) | public Builder jobShardingStrategyType(final String jobShardingStrat...
method jobExecutorThreadPoolSizeProviderType (line 299) | public Builder jobExecutorThreadPoolSizeProviderType(final String jo...
method jobErrorHandlerType (line 310) | public Builder jobErrorHandlerType(final String jobErrorHandlerType) {
method jobListenerTypes (line 321) | public Builder jobListenerTypes(final String... jobListenerTypes) {
method addExtraConfigurations (line 332) | public Builder addExtraConfigurations(final JobExtraConfiguration ex...
method description (line 343) | public Builder description(final String description) {
method setProperty (line 357) | public Builder setProperty(final String key, final String value) {
method disabled (line 372) | public Builder disabled(final boolean disabled) {
method overwrite (line 387) | public Builder overwrite(final boolean overwrite) {
method label (line 398) | public Builder label(final String label) {
method staticSharding (line 409) | public Builder staticSharding(final boolean staticSharding) {
method build (line 419) | public final JobConfiguration build() {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobExtraConfiguration.java
type JobExtraConfiguration (line 23) | public interface JobExtraConfiguration {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobExtraConfigurationFactory.java
type JobExtraConfigurationFactory (line 25) | public interface JobExtraConfigurationFactory {
method getJobExtraConfiguration (line 32) | Optional<JobExtraConfiguration> getJobExtraConfiguration();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/ExecutionType.java
type ExecutionType (line 23) | public enum ExecutionType {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandler.java
type JobErrorHandler (line 27) | public interface JobErrorHandler extends TypedSPI, Closeable {
method handleException (line 35) | void handleException(String jobName, Throwable cause);
method getType (line 37) | @Override
method close (line 40) | @Override
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandlerPropertiesValidator.java
type JobErrorHandlerPropertiesValidator (line 28) | @SingletonSPI
method validate (line 36) | void validate(Properties props);
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/JobItemExecutor.java
type JobItemExecutor (line 30) | public interface JobItemExecutor<T extends ElasticJob> {
method process (line 40) | void process(T elasticJob, JobConfiguration jobConfig, JobRuntimeServi...
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/JobRuntimeService.java
type JobRuntimeService (line 23) | public interface JobRuntimeService {
method isNeedSharding (line 30) | boolean isNeedSharding();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/ShardingContext.java
class ShardingContext (line 27) | @RequiredArgsConstructor
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/ClassedJobItemExecutor.java
type ClassedJobItemExecutor (line 29) | @SingletonSPI
method getElasticJobClass (line 37) | Class<T> getElasticJobClass();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/TypedJobItemExecutor.java
type TypedJobItemExecutor (line 28) | @SingletonSPI
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/ElasticJobListener.java
type ElasticJobListener (line 26) | public interface ElasticJobListener extends TypedSPI {
method beforeJobExecuted (line 35) | void beforeJobExecuted(ShardingContexts shardingContexts);
method afterJobExecuted (line 42) | void afterJobExecuted(ShardingContexts shardingContexts);
method order (line 48) | default int order() {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java
class ShardingContexts (line 32) | @RequiredArgsConstructor
method ShardingContexts (line 57) | public ShardingContexts(final String taskId, final String jobName, fin...
method createShardingContext (line 73) | public ShardingContext createShardingContext(final int shardingItem) {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobEvent.java
type JobEvent (line 23) | public interface JobEvent {
method getJobName (line 30) | String getJobName();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobExecutionEvent.java
class JobExecutionEvent (line 31) | @AllArgsConstructor
method executionSuccess (line 66) | public JobExecutionEvent executionSuccess() {
method executionFailure (line 79) | public JobExecutionEvent executionFailure(final String failureCause) {
type ExecutionSource (line 90) | public enum ExecutionSource {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobStatusTraceEvent.java
class JobStatusTraceEvent (line 32) | @AllArgsConstructor
type State (line 58) | public enum State {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/exception/TracingConfigurationException.java
class TracingConfigurationException (line 23) | public final class TracingConfigurationException extends Exception {
method TracingConfigurationException (line 27) | public TracingConfigurationException(final Exception ex) {
method TracingConfigurationException (line 31) | public TracingConfigurationException(final String errorMessage) {
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListener.java
type TracingListener (line 28) | public interface TracingListener {
method listen (line 35) | @Subscribe
method listen (line 44) | @Subscribe
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListenerFactory.java
type TracingListenerFactory (line 29) | @SingletonSPI
method create (line 39) | TracingListener create(T storage) throws TracingConfigurationException;
method getType (line 41) | @Override
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfiguration.java
type TracingStorageConfiguration (line 25) | public interface TracingStorageConfiguration<T> {
method getStorage (line 32) | T getStorage();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfigurationConverter.java
type TracingStorageConfigurationConverter (line 27) | @SingletonSPI
method toConfiguration (line 36) | TracingStorageConfiguration<T> toConfiguration(T storage);
method storageType (line 43) | Class<T> storageType();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfiguration.java
type YamlConfiguration (line 27) | public interface YamlConfiguration<T> extends Serializable {
method toConfiguration (line 34) | T toConfiguration();
FILE: api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfigurationConverter.java
type YamlConfigurationConverter (line 29) | @SingletonSPI
method convertToYamlConfiguration (line 38) | Y convertToYamlConfiguration(T data);
method getType (line 40) | @Override
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobConfigurationTest.java
class ElasticJobConfigurationTest (line 32) | class ElasticJobConfigurationTest {
method assertAnnotationJob (line 34) | @Test
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/SimpleTracingConfigurationFactory.java
class SimpleTracingConfigurationFactory (line 24) | public final class SimpleTracingConfigurationFactory implements JobExtra...
method getJobExtraConfiguration (line 26) | @Override
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java
type CustomJob (line 23) | public interface CustomJob extends ElasticJob {
method execute (line 30) | void execute(ShardingContext shardingContext);
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java
class SimpleTestJob (line 26) | @ElasticJobConfiguration(
method execute (line 39) | @Override
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/api/JobConfigurationTest.java
class JobConfigurationTest (line 29) | class JobConfigurationTest {
method assertBuildAllProperties (line 31) | @Test
method assertBuildRequiredProperties (line 62) | @Test
method assertBuildWithEmptyJobName (line 85) | @Test
method assertBuildWithInvalidShardingTotalCount (line 90) | @Test
FILE: api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java
class ShardingContextsTest (line 29) | class ShardingContextsTest {
method assertCreateShardingContext (line 31) | @Test
method createShardingContexts (line 43) | private ShardingContexts createShardingContexts() {
FILE: bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/JobBootstrap.java
type JobBootstrap (line 23) | public interface JobBootstrap {
method shutdown (line 28) | void shutdown();
FILE: bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/type/OneOffJobBootstrap.java
class OneOffJobBootstrap (line 33) | public class OneOffJobBootstrap implements JobBootstrap {
method OneOffJobBootstrap (line 39) | public OneOffJobBootstrap(final CoordinatorRegistryCenter regCenter, f...
method OneOffJobBootstrap (line 45) | public OneOffJobBootstrap(final CoordinatorRegistryCenter regCenter, f...
method OneOffJobBootstrap (line 51) | public OneOffJobBootstrap(final CoordinatorRegistryCenter regCenter, f...
method execute (line 60) | public void execute() {
method shutdown (line 64) | @Override
FILE: bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/type/ScheduleJobBootstrap.java
class ScheduleJobBootstrap (line 32) | public final class ScheduleJobBootstrap implements JobBootstrap {
method ScheduleJobBootstrap (line 36) | public ScheduleJobBootstrap(final CoordinatorRegistryCenter regCenter,...
method ScheduleJobBootstrap (line 40) | public ScheduleJobBootstrap(final CoordinatorRegistryCenter regCenter,...
method ScheduleJobBootstrap (line 44) | public ScheduleJobBootstrap(final CoordinatorRegistryCenter regCenter,...
method schedule (line 52) | public void schedule() {
method shutdown (line 57) | @Override
FILE: bootstrap/src/test/java/org/apache/shardingsphere/elasticjob/bootstrap/type/OneOffJobBootstrapTest.java
class OneOffJobBootstrapTest (line 42) | class OneOffJobBootstrapTest {
method init (line 50) | @BeforeAll
method tearDown (line 58) | @AfterAll
method assertConfigFailedWithCron (line 63) | @Test
method assertExecute (line 69) | @Test
method assertShutdown (line 80) | @Test
method getScheduler (line 88) | private Scheduler getScheduler(final OneOffJobBootstrap oneOffJobBoots...
method blockUtilFinish (line 93) | private void blockUtilFinish(final OneOffJobBootstrap oneOffJobBootstr...
FILE: bootstrap/src/test/java/org/apache/shardingsphere/elasticjob/bootstrap/type/ScheduleJobBootstrapTest.java
class ScheduleJobBootstrapTest (line 44) | @Slf4j
method beforeEach (line 51) | @BeforeEach
method afterEach (line 65) | @AfterEach
method testWhenShutdownThenTaskCanCaptureInterruptedException (line 71) | @Test
method testCaptureInterruptedException (line 88) | @SuppressWarnings({"InfiniteLoopStatement", "BusyWait"})
FILE: docs/themes/hugo-theme-learn/static/js/auto-complete.js
function autoComplete (line 10) | function autoComplete(options){
FILE: docs/themes/hugo-theme-learn/static/js/highlight.pack.js
function n (line 2) | function n(e){return e.replace(/&/gm,"&").replace(/</gm,"<").repl...
function t (line 2) | function t(e){return e.nodeName.toLowerCase()}
function r (line 2) | function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}
function a (line 2) | function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}
function i (line 2) | function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNod...
function o (line 2) | function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t...
function u (line 2) | function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i...
function c (line 2) | function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[...
function s (line 2) | function s(e){function n(e){return e&&e.source||e}function t(t,r){return...
function f (line 2) | function f(e,t,a,i){function o(e,n){for(var t=0;t<n.c.length;t++)if(r(n....
function l (line 2) | function l(e,t){t=t||E.languages||Object.keys(R);var r={r:0,value:n(e)},...
function g (line 2) | function g(e){return E.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,fun...
function p (line 2) | function p(e,n,t){var r=n?x[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)...
function h (line 2) | function h(e){var n=i(e);if(!a(n)){var t;E.useBR?(t=document.createEleme...
function d (line 2) | function d(e){E=o(E,e)}
function b (line 2) | function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("...
function v (line 2) | function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener(...
function m (line 2) | function m(n,t){var r=R[n]=t(e);r.aliases&&r.aliases.forEach(function(e)...
function N (line 2) | function N(){return Object.keys(R)}
function w (line 2) | function w(e){return e=(e||"").toLowerCase(),R[e]||R[x[e]]}
FILE: docs/themes/hugo-theme-learn/static/js/learn.js
function getScrollBarWidth (line 2) | function getScrollBarWidth() {
function setMenuHeight (line 28) | function setMenuHeight() {
function fallbackMessage (line 33) | function fallbackMessage(action) {
function delayed (line 65) | function delayed() {
function adjustForScrollbar (line 347) | function adjustForScrollbar() {
function ScollPostion (line 429) | function ScollPostion() {
function deal (line 450) | function deal(str){
FILE: docs/themes/hugo-theme-learn/static/js/modernizr.custom.71422.js
function z (line 4) | function z(a){j.cssText=a}
function A (line 4) | function A(a,b){return z(m.join(a+";")+(b||""))}
function B (line 4) | function B(a,b){return typeof a===b}
function C (line 4) | function C(a,b){return!!~(""+a).indexOf(b)}
function D (line 4) | function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return...
function E (line 4) | function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a...
function F (line 4) | function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o....
function l (line 4) | function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("hea...
function m (line 4) | function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}
function n (line 4) | function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}
function o (line 4) | function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));va...
function p (line 4) | function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a...
function q (line 4) | function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.crea...
function r (line 4) | function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.ha...
function d (line 4) | function d(a){return"[object Function]"==o.call(a)}
function e (line 4) | function e(a){return"string"==typeof a}
function f (line 4) | function f(){}
function g (line 4) | function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}
function h (line 4) | function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCs...
function i (line 4) | function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1...
function j (line 4) | function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++...
function k (line 4) | function k(){var a=B;return a.loader={load:j,i:0},a}
function b (line 4) | function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:...
function g (line 4) | function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop()...
function h (line 4) | function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[]....
FILE: docs/themes/hugo-theme-learn/static/js/search.js
function endsWith (line 3) | function endsWith(str, suffix) {
function initLunr (line 8) | function initLunr() {
function search (line 49) | function search(query) {
FILE: ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
class DingtalkJobErrorHandler (line 53) | @Slf4j
method init (line 68) | @Override
method handleException (line 77) | @Override
method createHTTPPostMethod (line 98) | private HttpPost createHTTPPostMethod(final String jobName, final Thro...
method getURL (line 109) | private String getURL() {
method getSignedURL (line 113) | private String getSignedURL() {
method generateSignature (line 118) | @SneakyThrows({NoSuchAlgorithmException.class, UnsupportedEncodingExce...
method getJsonParameter (line 127) | private String getJsonParameter(final String message) {
method getErrorMessage (line 131) | private String getErrorMessage(final String jobName, final Throwable c...
method getType (line 141) | @Override
method close (line 146) | @SneakyThrows(IOException.class)
FILE: ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidator.java
class DingtalkJobErrorHandlerPropertiesValidator (line 28) | public final class DingtalkJobErrorHandlerPropertiesValidator implements...
method validate (line 30) | @Override
method getType (line 37) | @Override
FILE: ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkPropertiesConstants.java
class DingtalkPropertiesConstants (line 23) | public final class DingtalkPropertiesConstants {
FILE: ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidatorTest.java
class DingtalkJobErrorHandlerPropertiesValidatorTest (line 30) | class DingtalkJobErrorHandlerPropertiesValidatorTest {
method assertValidateWithNormal (line 32) | @Test
method assertValidateWithPropsIsNull (line 41) | @Test
method assertValidateWithWebhookIsNull (line 46) | @Test
FILE: ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerTest.java
class DingtalkJobErrorHandlerTest (line 42) | class DingtalkJobErrorHandlerTest {
method init (line 52) | @SuppressWarnings({"unchecked", "rawtypes"})
method setUp (line 65) | @BeforeEach
method close (line 70) | @AfterAll
method assertHandleExceptionWithNotifySuccessful (line 77) | @Test
method assertHandleExceptionWithWrongToken (line 87) | @Test
method assertHandleExceptionWithUrlIsNotFound (line 97) | @Test
method assertHandleExceptionWithWrongUrl (line 107) | @Test
method assertHandleExceptionWithNoSign (line 117) | @Test
method getDingtalkJobErrorHandler (line 127) | private DingtalkJobErrorHandler getDingtalkJobErrorHandler(final Prope...
method createConfigurationProperties (line 131) | private Properties createConfigurationProperties(final String webhook) {
method createNoSignJobConfigurationProperties (line 141) | private Properties createNoSignJobConfigurationProperties(final String...
FILE: ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/fixture/DingtalkInternalController.java
class DingtalkInternalController (line 40) | public final class DingtalkInternalController implements RestfulControll...
method send (line 57) | @Mapping(method = Http.POST, path = "/send")
method sign (line 79) | @SneakyThrows({NoSuchAlgorithmException.class, InvalidKeyException.cla...
FILE: ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
class EmailJobErrorHandler (line 45) | @Slf4j
method init (line 60) | @Override
method createSessionProperties (line 77) | private Properties createSessionProperties(final String host, final in...
method getSessionAuthenticator (line 94) | private Authenticator getSessionAuthenticator(final String username, f...
method handleException (line 104) | @Override
method getErrorMessage (line 116) | private String getErrorMessage(final String jobName, final Throwable c...
method createMessage (line 122) | private Message createMessage(final String content) throws MessagingEx...
method sendMessage (line 148) | private void sendMessage(final Message message) throws MessagingExcept...
method getType (line 155) | @Override
FILE: ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidator.java
class EmailJobErrorHandlerPropertiesValidator (line 28) | public final class EmailJobErrorHandlerPropertiesValidator implements Jo...
method validate (line 30) | @Override
method getType (line 41) | @Override
FILE: ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailPropertiesConstants.java
class EmailPropertiesConstants (line 23) | public final class EmailPropertiesConstants {
FILE: ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidatorTest.java
class EmailJobErrorHandlerPropertiesValidatorTest (line 30) | class EmailJobErrorHandlerPropertiesValidatorTest {
method assertValidateWithNormal (line 32) | @Test
method assertValidateWithPropsIsNull (line 45) | @Test
method assertValidateWithHostIsNull (line 50) | @Test
FILE: ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerTest.java
class EmailJobErrorHandlerTest (line 48) | @ExtendWith(MockitoExtension.class)
method init (line 59) | @SuppressWarnings({"unchecked", "rawtypes"})
method setUp (line 67) | @BeforeEach
method assertHandleExceptionWithMessagingException (line 72) | @Test
method assertHandleExceptionSucceedInSendingEmail (line 83) | @Test
method getEmailJobErrorHandler (line 98) | private EmailJobErrorHandler getEmailJobErrorHandler(final Properties ...
method setUpMockSession (line 102) | private void setUpMockSession(final Session session) {
method createConfigurationProperties (line 108) | private Properties createConfigurationProperties() {
FILE: ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandler.java
class IgnoreJobErrorHandler (line 25) | public final class IgnoreJobErrorHandler implements JobErrorHandler {
method handleException (line 27) | @Override
method getType (line 31) | @Override
FILE: ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandler.java
class LogJobErrorHandler (line 26) | @Slf4j
method handleException (line 29) | @Override
method getType (line 34) | @Override
method isDefault (line 39) | @Override
FILE: ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandler.java
class ThrowJobErrorHandler (line 26) | public final class ThrowJobErrorHandler implements JobErrorHandler {
method handleException (line 28) | @Override
method getType (line 33) | @Override
FILE: ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandlerTest.java
class IgnoreJobErrorHandlerTest (line 26) | class IgnoreJobErrorHandlerTest {
method assertHandleException (line 28) | @Test
FILE: ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandlerTest.java
class LogJobErrorHandlerTest (line 36) | class LogJobErrorHandlerTest {
method setupLogger (line 40) | @SuppressWarnings({"unchecked", "rawtypes"})
method setUp (line 48) | @BeforeEach
method assertHandleException (line 53) | @Test
FILE: ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandlerTest.java
class ThrowJobErrorHandlerTest (line 29) | class ThrowJobErrorHandlerTest {
method assertHandleException (line 31) | @Test
FILE: ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
class WechatJobErrorHandler (line 45) | @Slf4j
method init (line 56) | @Override
method handleException (line 63) | @Override
method createHTTPPostMethod (line 84) | private HttpPost createHTTPPostMethod(final String jobName, final Thro...
method getJsonParameter (line 95) | private String getJsonParameter(final String message) {
method getErrorMessage (line 99) | private String getErrorMessage(final String jobName, final Throwable c...
method getType (line 105) | @Override
method close (line 110) | @SneakyThrows(IOException.class)
FILE: ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidator.java
class WechatJobErrorHandlerPropertiesValidator (line 28) | public final class WechatJobErrorHandlerPropertiesValidator implements J...
method validate (line 30) | @Override
method getType (line 37) | @Override
FILE: ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatPropertiesConstants.java
class WechatPropertiesConstants (line 23) | public final class WechatPropertiesConstants {
FILE: ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidatorTest.java
class WechatJobErrorHandlerPropertiesValidatorTest (line 30) | class WechatJobErrorHandlerPropertiesValidatorTest {
method assertValidateWithNormal (line 32) | @Test
method assertValidateWithPropsIsNull (line 41) | @Test
method assertValidateWithWebhookIsNull (line 46) | @Test
FILE: ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerTest.java
class WechatJobErrorHandlerTest (line 42) | class WechatJobErrorHandlerTest {
method init (line 52) | @SuppressWarnings({"unchecked", "rawtypes"})
method setUp (line 65) | @BeforeEach
method close (line 70) | @AfterAll
method assertHandleExceptionWithNotifySuccessful (line 77) | @Test
method assertHandleExceptionWithWrongToken (line 87) | @Test
method assertHandleExceptionWithWrongUrl (line 97) | @Test
method assertHandleExceptionWithUrlIsNotFound (line 107) | @Test
method getWechatJobErrorHandler (line 117) | private WechatJobErrorHandler getWechatJobErrorHandler(final Propertie...
method createConfigurationProperties (line 121) | private Properties createConfigurationProperties(final String webhook) {
FILE: ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/fixture/WechatInternalController.java
class WechatInternalController (line 28) | public final class WechatInternalController implements RestfulController {
method send (line 38) | @Mapping(method = Http.POST, path = "/send")
FILE: ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutor.java
class DataflowJobExecutor (line 32) | public final class DataflowJobExecutor implements ClassedJobItemExecutor...
method process (line 34) | @Override
method streamingExecute (line 43) | private void streamingExecute(final DataflowJob elasticJob, final JobC...
method isEligibleForJobRunning (line 54) | private boolean isEligibleForJobRunning(final JobConfiguration jobConf...
method oneOffExecute (line 58) | private void oneOffExecute(final DataflowJob elasticJob, final Shardin...
method fetchData (line 65) | @SuppressWarnings("unchecked")
method processData (line 70) | @SuppressWarnings("unchecked")
method getElasticJobClass (line 75) | @Override
FILE: ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/job/DataflowJob.java
type DataflowJob (line 30) | public interface DataflowJob<T> extends ElasticJob {
method fetchData (line 38) | List<T> fetchData(ShardingContext shardingContext);
method processData (line 46) | void processData(ShardingContext shardingContext, List<T> data);
FILE: ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/props/DataflowJobProperties.java
class DataflowJobProperties (line 23) | public final class DataflowJobProperties {
FILE: ecosystem/executor/dataflow/src/test/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutorTest.java
class DataflowJobExecutorTest (line 41) | @ExtendWith(MockitoExtension.class)
method createJobExecutor (line 61) | @BeforeEach
method assertProcessWithStreamingExecute (line 66) | @SuppressWarnings("unchecked")
method assertProcessWithOneOffExecute (line 78) | @SuppressWarnings("unchecked")
method assertGetElasticJobClass (line 89) | @Test
FILE: ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutor.java
class HttpJobExecutor (line 44) | @Slf4j
method process (line 47) | @Override
method getHttpURLConnection (line 84) | private HttpURLConnection getHttpURLConnection(final HttpParam httpPar...
method getConnectionInputStream (line 98) | private InputStream getConnectionInputStream(final String jobName, fin...
method isRequestSucceed (line 106) | private boolean isRequestSucceed(final int httpStatusCode) {
method getType (line 110) | @Override
FILE: ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/pojo/HttpParam.java
class HttpParam (line 32) | @RequiredArgsConstructor
method HttpParam (line 48) | public HttpParam(final Properties props) {
method isWriteMethod (line 68) | public boolean isWriteMethod() {
FILE: ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/props/HttpJobProperties.java
class HttpJobProperties (line 23) | public final class HttpJobProperties {
FILE: ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutorTest.java
class HttpJobExecutorTest (line 46) | @ExtendWith(MockitoExtension.class)
method init (line 73) | @BeforeAll
method setUp (line 82) | @BeforeEach
method close (line 88) | @AfterAll
method assertProcessWithoutSuccessCode (line 95) | @Test
method assertProcessWithGet (line 105) | @Test
method assertProcessHeader (line 115) | @Test
method assertProcessWithPost (line 124) | @Test
method assertProcessWithIOException (line 135) | @Test
method assertGetType (line 147) | @Test
method getRequestUri (line 152) | private String getRequestUri(final String path) {
FILE: ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/executor/fixture/InternalController.java
class InternalController (line 34) | @Slf4j
method getName (line 42) | @Mapping(method = Http.GET, path = "/getName")
method getShardingContext (line 53) | @Mapping(method = Http.GET, path = "/getShardingContext")
method postName (line 65) | @Mapping(method = Http.POST, path = "/{updateName}")
method postWithTimeout (line 76) | @Mapping(method = Http.POST, path = "/postWithTimeout")
FILE: ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/pojo/HttpParamTest.java
class HttpParamTest (line 32) | class HttpParamTest {
method assertNewWithEmptyUrl (line 34) | @Test
method assertNewWithEmptyMethod (line 39) | @Test
method assertNew (line 46) | @Test
method assertIsWriteMethodWithGet (line 58) | @Test
method assertIsWriteMethodWithPost (line 67) | @Test
method assertIsWriteMethodWithPut (line 76) | @Test
method assertIsWriteMethodWithDelete (line 85) | @Test
FILE: ecosystem/executor/script/src/main/java/org/apache/shardingsphere/elasticjob/script/executor/ScriptJobExecutor.java
class ScriptJobExecutor (line 39) | public final class ScriptJobExecutor implements TypedJobItemExecutor {
method process (line 41) | @Override
method getScriptCommandLine (line 52) | private String getScriptCommandLine(final Properties props) {
method getType (line 60) | @Override
FILE: ecosystem/executor/script/src/main/java/org/apache/shardingsphere/elasticjob/script/props/ScriptJobProperties.java
class ScriptJobProperties (line 23) | public final class ScriptJobProperties {
FILE: ecosystem/executor/script/src/test/java/org/apache/shardingsphere/elasticjob/script/ScriptJobExecutorTest.java
class ScriptJobExecutorTest (line 42) | @ExtendWith(MockitoExtension.class)
method setUp (line 62) | @BeforeEach
method assertProcessWithJobConfigurationException (line 67) | @Test
method assertProcessWithJobSystemException (line 75) | @Test
method assertProcess (line 84) | @Test
method determineCommandByPlatform (line 91) | private String determineCommandByPlatform() {
method getWindowsEcho (line 95) | private String getWindowsEcho() {
method getEcho (line 99) | private String getEcho() {
method assertGetType (line 103) | @Test
FILE: ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutor.java
class SimpleJobExecutor (line 29) | public final class SimpleJobExecutor implements ClassedJobItemExecutor<S...
method process (line 31) | @Override
method getElasticJobClass (line 36) | @Override
FILE: ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/job/SimpleJob.java
type SimpleJob (line 26) | public interface SimpleJob extends ElasticJob {
method execute (line 33) | void execute(ShardingContext shardingContext);
FILE: ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutorTest.java
class SimpleJobExecutorTest (line 36) | @ExtendWith(MockitoExtension.class)
method setUp (line 50) | @BeforeEach
method assertProcess (line 55) | @Test
method assertGetElasticJobClass (line 61) | @Test
FILE: ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/job/FooSimpleJob.java
class FooSimpleJob (line 23) | @Getter
method execute (line 28) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/config/RDBTracingStorageConfiguration.java
class RDBTracingStorageConfiguration (line 45) | @RequiredArgsConstructor
method getDataSourceConfiguration (line 72) | public static RDBTracingStorageConfiguration getDataSourceConfiguratio...
method findAllGetterProperties (line 78) | @SneakyThrows(ReflectiveOperationException.class)
method findAllGetterMethods (line 91) | private static Collection<Method> findAllGetterMethods(final Class<?> ...
method createDataSource (line 107) | @SuppressWarnings({"unchecked", "rawtypes"})
method findSetterMethod (line 125) | private Optional<Method> findSetterMethod(final Method[] methods, fina...
method getStorage (line 135) | @Override
method equals (line 140) | @Override
method equalsByProperties (line 145) | private boolean equalsByProperties(final RDBTracingStorageConfiguratio...
method hashCode (line 149) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListener.java
class RDBTracingListener (line 31) | public final class RDBTracingListener implements TracingListener {
method RDBTracingListener (line 35) | public RDBTracingListener(final DataSource dataSource) throws SQLExcep...
method listen (line 39) | @Override
method listen (line 44) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactory.java
class RDBTracingListenerFactory (line 30) | public final class RDBTracingListenerFactory implements TracingListenerF...
method create (line 32) | @Override
method getType (line 41) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverter.java
class RDBTracingStorageConfigurationConverter (line 34) | @Slf4j
method toConfiguration (line 37) | @Override
method storageType (line 50) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/datasource/DataSourceRegistry.java
class DataSourceRegistry (line 31) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getInstance (line 43) | public static DataSourceRegistry getInstance() {
method registerDataSource (line 60) | public void registerDataSource(final RDBTracingStorageConfiguration da...
method getDataSource (line 70) | public DataSource getDataSource(final RDBTracingStorageConfiguration d...
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/datasource/JDBCParameterDecorator.java
type JDBCParameterDecorator (line 29) | public interface JDBCParameterDecorator<T extends DataSource> extends Ty...
method decorate (line 37) | T decorate(T dataSource);
method getType (line 39) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepository.java
class RDBJobEventRepository (line 47) | @Slf4j
method RDBJobEventRepository (line 64) | private RDBJobEventRepository(final DataSource dataSource) throws SQLE...
method getInstance (line 78) | public static RDBJobEventRepository getInstance(final DataSource dataS...
method getInstance (line 88) | private static RDBJobEventRepository getInstance(final Supplier<RDBJob...
method getTracingStorageDatabaseType (line 99) | private TracingStorageDatabaseType getTracingStorageDatabaseType(final...
method initTablesAndIndexes (line 111) | private void initTablesAndIndexes() throws SQLException {
method createJobExecutionTableAndIndexIfNeeded (line 118) | private void createJobExecutionTableAndIndexIfNeeded(final Connection ...
method createJobStatusTraceTableAndIndexIfNeeded (line 125) | private void createJobStatusTraceTableAndIndexIfNeeded(final Connectio...
method existsTable (line 133) | private boolean existsTable(final Connection connection, final String ...
method createTaskIdIndexIfNeeded (line 140) | private void createTaskIdIndexIfNeeded(final Connection connection) th...
method existsIndex (line 147) | private boolean existsIndex(final Connection connection, final String ...
method createJobExecutionTable (line 159) | private void createJobExecutionTable(final Connection connection) thro...
method createJobStatusTraceTable (line 165) | private void createJobStatusTraceTable(final Connection connection) th...
method createTaskIdAndStateIndex (line 171) | private void createTaskIdAndStateIndex(final Connection connection) th...
method addJobExecutionEvent (line 183) | public boolean addJobExecutionEvent(final JobExecutionEvent event) {
method insertJobExecutionEvent (line 195) | private boolean insertJobExecutionEvent(final JobExecutionEvent event) {
method updateJobExecutionEventWhenSuccess (line 220) | private boolean updateJobExecutionEventWhenSuccess(final JobExecutionE...
method insertJobExecutionEventWhenSuccess (line 239) | private boolean insertJobExecutionEventWhenSuccess(final JobExecutionE...
method updateJobExecutionEventFailure (line 266) | private boolean updateJobExecutionEventFailure(final JobExecutionEvent...
method insertJobExecutionEventWhenFailure (line 286) | private boolean insertJobExecutionEventWhenFailure(final JobExecutionE...
method isDuplicateRecord (line 313) | private boolean isDuplicateRecord(final SQLException ex) {
method addJobStatusTraceEvent (line 323) | public boolean addJobStatusTraceEvent(final JobStatusTraceEvent event) {
method getOriginalTaskId (line 351) | private String getOriginalTaskId(final String taskId) {
method truncateString (line 369) | private String truncateString(final String str) {
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/sql/RDBStorageSQLMapper.java
class RDBStorageSQLMapper (line 27) | @Getter
method RDBStorageSQLMapper (line 52) | public RDBStorageSQLMapper(final Properties props) {
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/sql/SQLPropertiesFactory.java
class SQLPropertiesFactory (line 32) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getProperties (line 41) | public static Properties getProperties(final TracingStorageDatabaseTyp...
method loadProps (line 45) | @SneakyThrows(IOException.class)
method getPropertiesInputStream (line 52) | private static InputStream getPropertiesInputStream(final String sqlPr...
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/TracingStorageDatabaseType.java
type TracingStorageDatabaseType (line 26) | @SingletonSPI
method getDatabaseProductName (line 34) | default String getDatabaseProductName() {
method getDuplicateRecordErrorCode (line 43) | int getDuplicateRecordErrorCode();
method getType (line 45) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/DB2TracingStorageDatabaseType.java
class DB2TracingStorageDatabaseType (line 25) | public final class DB2TracingStorageDatabaseType implements TracingStora...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/DefaultTracingStorageDatabaseType.java
class DefaultTracingStorageDatabaseType (line 25) | public class DefaultTracingStorageDatabaseType implements TracingStorage...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/GaussDBTracingStorageDatabaseType.java
class GaussDBTracingStorageDatabaseType (line 25) | public final class GaussDBTracingStorageDatabaseType implements TracingS...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/H2TracingStorageDatabaseType.java
class H2TracingStorageDatabaseType (line 25) | public final class H2TracingStorageDatabaseType implements TracingStorag...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/MySQLTracingStorageDatabaseType.java
class MySQLTracingStorageDatabaseType (line 25) | public final class MySQLTracingStorageDatabaseType implements TracingSto...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/OracleTracingStorageDatabaseType.java
class OracleTracingStorageDatabaseType (line 25) | public final class OracleTracingStorageDatabaseType implements TracingSt...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/PostgreSQLTracingStorageDatabaseType.java
class PostgreSQLTracingStorageDatabaseType (line 25) | public final class PostgreSQLTracingStorageDatabaseType implements Traci...
method getType (line 27) | @Override
method getDuplicateRecordErrorCode (line 32) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/type/impl/SQLServerTracingStorageDatabaseType.java
class SQLServerTracingStorageDatabaseType (line 25) | public final class SQLServerTracingStorageDatabaseType implements Tracin...
method getType (line 27) | @Override
method getDatabaseProductName (line 32) | @Override
method getDuplicateRecordErrorCode (line 37) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfiguration.java
class YamlDataSourceConfiguration (line 33) | @Getter
method toConfiguration (line 43) | @Override
FILE: ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfigurationConverter.java
class YamlDataSourceConfigurationConverter (line 30) | @SuppressWarnings({"rawtypes", "unchecked"})
method convertToYamlConfiguration (line 33) | @Override
method getType (line 42) | @Override
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/config/RDBTracingStorageConfigurationTest.java
class RDBTracingStorageConfigurationTest (line 34) | class RDBTracingStorageConfigurationTest {
method assertGetDataSourceConfiguration (line 36) | @Test
method assertCreateDataSource (line 53) | @Test
method assertEquals (line 71) | @Test
method assertNotEquals (line 82) | @Test
method assertEqualsWithNull (line 91) | @Test
method assertSameHashCode (line 96) | @Test
method assertDifferentHashCode (line 109) | @Test
method assertGetDataSourceConfigurationWithConnectionInitSqls (line 122) | @Test
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactoryTest.java
class RDBTracingListenerFactoryTest (line 33) | class RDBTracingListenerFactoryTest {
method assertCreateTracingListenerSuccess (line 35) | @Test
method assertCreateTracingListenerFailure (line 45) | @Test
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerTest.java
class RDBTracingListenerTest (line 41) | @ExtendWith(MockitoExtension.class)
method setUp (line 51) | @BeforeEach
method assertPostJobExecutionEvent (line 63) | @Test
method assertPostJobStatusTraceEvent (line 70) | @Test
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverterTest.java
class RDBTracingStorageConfigurationConverterTest (line 41) | @ExtendWith(MockitoExtension.class)
method assertConvert (line 53) | @Test
method assertConvertFailed (line 62) | @Test
method assertStorageType (line 71) | @Test
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/datasource/DataSourceRegistryTest.java
class DataSourceRegistryTest (line 35) | @ExtendWith(MockitoExtension.class)
method assertGetDataSourceBySameConfiguration (line 41) | @Test
method assertGetDataSourceWithDifferentConfiguration (line 50) | @Test
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepositoryTest.java
class RDBJobEventRepositoryTest (line 38) | class RDBJobEventRepositoryTest {
method setup (line 44) | @BeforeEach
method tearDown (line 54) | @AfterEach
method assertAddJobExecutionEvent (line 59) | @Test
method assertAddJobStatusTraceEvent (line 64) | @Test
method assertUpdateJobExecutionEventWhenSuccess (line 70) | @Test
method assertUpdateJobExecutionEventWhenFailure (line 78) | @Test
method assertUpdateJobExecutionEventWhenSuccessAndConflict (line 88) | @Test
method assertUpdateJobExecutionEventWhenFailureAndConflict (line 96) | @Test
method assertUpdateJobExecutionEventWhenFailureAndMessageExceed (line 105) | @Test
method assertFindJobExecutionEvent (line 118) | @Test
FILE: ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlRDBTracingStorageConfigurationConverterTest.java
class YamlRDBTracingStorageConfigurationConverterTest (line 31) | class YamlRDBTracingStorageConfigurationConverterTest {
method assertConvertDataSourceConfiguration (line 33) | @Test
FILE: examples/elasticjob-example-embed-zk/src/main/java/org/apache/shardingsphere/elasticjob/example/EmbedZookeeperServer.java
class EmbedZookeeperServer (line 32) | public final class EmbedZookeeperServer {
method start (line 41) | public static void start(final int port) {
FILE: examples/elasticjob-example-java/src/main/java/org/apache/shardingsphere/elasticjob/example/JavaMain.java
class JavaMain (line 45) | public final class JavaMain {
method main (line 66) | public static void main(final String[] args) throws IOException {
method setUpRegistryCenter (line 81) | private static CoordinatorRegistryCenter setUpRegistryCenter() {
method setUpEventTraceDataSource (line 88) | private static DataSource setUpEventTraceDataSource() {
method setUpHttpJob (line 97) | private static void setUpHttpJob(final CoordinatorRegistryCenter regCe...
method setUpSimpleJob (line 105) | private static void setUpSimpleJob(final CoordinatorRegistryCenter reg...
method setUpDataflowJob (line 110) | private static void setUpDataflowJob(final CoordinatorRegistryCenter r...
method setUpOneOffJob (line 116) | private static void setUpOneOffJob(final CoordinatorRegistryCenter reg...
method setUpScriptJob (line 121) | private static void setUpScriptJob(final CoordinatorRegistryCenter reg...
method setUpOneOffJobWithEmail (line 126) | private static void setUpOneOffJobWithEmail(final CoordinatorRegistryC...
method setUpOneOffJobWithDingtalk (line 133) | private static void setUpOneOffJobWithDingtalk(final CoordinatorRegist...
method setUpOneOffJobWithWechat (line 140) | private static void setUpOneOffJobWithWechat(final CoordinatorRegistry...
method setEmailProperties (line 147) | private static void setEmailProperties(final JobConfiguration jobConfi...
method setDingtalkProperties (line 156) | private static void setDingtalkProperties(final JobConfiguration jobCo...
method setWechatProperties (line 162) | private static void setWechatProperties(final JobConfiguration jobConf...
method buildScriptCommandLine (line 166) | private static String buildScriptCommandLine() throws IOException {
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/fixture/entity/Foo.java
class Foo (line 22) | public final class Foo implements Serializable {
method Foo (line 32) | public Foo(final long id, final String location, final Status status) {
method getId (line 38) | public long getId() {
method getLocation (line 42) | public String getLocation() {
method getStatus (line 46) | public Status getStatus() {
method setStatus (line 50) | public void setStatus(final Status status) {
method toString (line 54) | public String toString() {
type Status (line 58) | public enum Status {
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/fixture/repository/FooRepository.java
class FooRepository (line 28) | @Repository
method FooRepository (line 33) | public FooRepository() {
method init (line 37) | private void init() {
method addData (line 43) | private void addData(final long idFrom, final long idTo, final String ...
method findTodoData (line 49) | public List<Foo> findTodoData(final String location, final int limit) {
method setCompleted (line 65) | public void setCompleted(final long id) {
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/fixture/repository/FooRepositoryFactory.java
class FooRepositoryFactory (line 20) | public final class FooRepositoryFactory {
method getFooRepository (line 24) | public static FooRepository getFooRepository() {
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/JavaDataflowJob.java
class JavaDataflowJob (line 30) | public class JavaDataflowJob implements DataflowJob<Foo> {
method fetchData (line 34) | @Override
method processData (line 41) | @Override
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/SpringDataflowJob.java
class SpringDataflowJob (line 30) | public class SpringDataflowJob implements DataflowJob<Foo> {
method fetchData (line 35) | @Override
method processData (line 42) | @Override
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaOccurErrorJob.java
class JavaOccurErrorJob (line 23) | public final class JavaOccurErrorJob implements SimpleJob {
method execute (line 25) | @Override
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaSimpleJob.java
class JavaSimpleJob (line 30) | public class JavaSimpleJob implements SimpleJob {
method execute (line 34) | @Override
FILE: examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/SpringSimpleJob.java
class SpringSimpleJob (line 30) | public class SpringSimpleJob implements SimpleJob {
method execute (line 35) | @Override
FILE: examples/elasticjob-example-spring/src/main/java/org/apache/shardingsphere/elasticjob/example/SpringMain.java
class SpringMain (line 22) | public final class SpringMain {
method main (line 27) | public static void main(final String[] args) {
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/SpringBootMain.java
class SpringBootMain (line 23) | @SpringBootApplication
method main (line 27) | public static void main(final String[] args) {
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/controller/OneOffJobController.java
class OneOffJobController (line 28) | @RestController
method executeManualScriptJob (line 48) | @GetMapping("/execute/manualScriptJob")
method executeOneOffJob (line 54) | @GetMapping("/execute/occurErrorNoticeDingtalkJob")
method executeOccurErrorNoticeWechatJob (line 60) | @GetMapping("/execute/occurErrorNoticeWechatJob")
method executeOccurErrorNoticeEmailJob (line 66) | @GetMapping("/execute/occurErrorNoticeEmailJob")
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/entity/Foo.java
class Foo (line 22) | public final class Foo implements Serializable {
method Foo (line 32) | public Foo(final long id, final String location, final Status status) {
method getId (line 38) | public long getId() {
method getLocation (line 42) | public String getLocation() {
method getStatus (line 46) | public Status getStatus() {
method setStatus (line 50) | public void setStatus(final Status status) {
method toString (line 54) | @Override
type Status (line 59) | public enum Status {
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootDataflowJob.java
class SpringBootDataflowJob (line 33) | @Component
method fetchData (line 41) | @Override
method processData (line 48) | @Override
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeDingtalkJob.java
class SpringBootOccurErrorNoticeDingtalkJob (line 24) | @Component
method execute (line 27) | @Override
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeEmailJob.java
class SpringBootOccurErrorNoticeEmailJob (line 24) | @Component
method execute (line 27) | @Override
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeWechatJob.java
class SpringBootOccurErrorNoticeWechatJob (line 24) | @Component
method execute (line 27) | @Override
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootSimpleJob.java
class SpringBootSimpleJob (line 33) | @Component
method execute (line 41) | @Override
FILE: examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/repository/FooRepository.java
class FooRepository (line 28) | @Repository
method FooRepository (line 33) | public FooRepository() {
method init (line 37) | private void init() {
method addData (line 43) | private void addData(final long idFrom, final long idTo, final String ...
method findTodoData (line 49) | public List<Foo> findTodoData(final String location, final int limit) {
method setCompleted (line 65) | public void setCompleted(final long id) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutor.java
class ElasticJobExecutor (line 48) | @Slf4j
method ElasticJobExecutor (line 64) | public ElasticJobExecutor(final ElasticJob elasticJob, final JobConfig...
method ElasticJobExecutor (line 68) | public ElasticJobExecutor(final String type, final JobConfiguration jo...
method ElasticJobExecutor (line 72) | private ElasticJobExecutor(final ElasticJob elasticJob, final JobConfi...
method execute (line 85) | public void execute() {
method execute (line 125) | private void execute(final JobConfiguration jobConfig, final ShardingC...
method process (line 147) | private void process(final JobConfiguration jobConfig, final ShardingC...
method process (line 177) | @SuppressWarnings("unchecked")
method shutdown (line 201) | public void shutdown() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloader.java
class JobErrorHandlerReloader (line 31) | public final class JobErrorHandlerReloader implements Closeable {
method JobErrorHandlerReloader (line 38) | public JobErrorHandlerReloader(final JobConfiguration jobConfig) {
method reloadIfNecessary (line 47) | public synchronized void reloadIfNecessary(final JobConfiguration jobC...
method init (line 55) | private void init(final JobConfiguration jobConfig) {
method close (line 60) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/AbstractJobFacade.java
class AbstractJobFacade (line 49) | @Slf4j
method AbstractJobFacade (line 66) | AbstractJobFacade(final CoordinatorRegistryCenter regCenter, final Str...
method loadJobConfiguration (line 82) | @Override
method checkJobExecutionEnvironment (line 92) | @Override
method failoverIfNecessary (line 100) | @Override
method registerJobBegin (line 112) | @Override
method registerJobCompleted (line 122) | @Override
method getShardingContexts (line 130) | public abstract ShardingContexts getShardingContexts();
method misfireIfRunning (line 138) | @Override
method clearMisfire (line 148) | @Override
method isExecuteMisfired (line 159) | @Override
method isNeedSharding (line 169) | @Override
method beforeJobExecuted (line 179) | @Override
method afterJobExecuted (line 191) | @Override
method postJobExecutionEvent (line 203) | @Override
method postJobStatusTraceEvent (line 215) | @Override
method getJobRuntimeService (line 230) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobFacade.java
type JobFacade (line 32) | public interface JobFacade {
method loadJobConfiguration (line 40) | JobConfiguration loadJobConfiguration(boolean fromCache);
method checkJobExecutionEnvironment (line 47) | void checkJobExecutionEnvironment() throws JobExecutionEnvironmentExce...
method failoverIfNecessary (line 52) | void failoverIfNecessary();
method registerJobBegin (line 59) | void registerJobBegin(ShardingContexts shardingContexts);
method registerJobCompleted (line 66) | void registerJobCompleted(ShardingContexts shardingContexts);
method getShardingContexts (line 73) | ShardingContexts getShardingContexts();
method misfireIfRunning (line 81) | boolean misfireIfRunning(Collection<Integer> shardingItems);
method clearMisfire (line 88) | void clearMisfire(Collection<Integer> shardingItems);
method isExecuteMisfired (line 96) | boolean isExecuteMisfired(Collection<Integer> shardingItems);
method isNeedSharding (line 103) | boolean isNeedSharding();
method beforeJobExecuted (line 110) | void beforeJobExecuted(ShardingContexts shardingContexts);
method afterJobExecuted (line 117) | void afterJobExecuted(ShardingContexts shardingContexts);
method postJobExecutionEvent (line 124) | void postJobExecutionEvent(JobExecutionEvent jobExecutionEvent);
method postJobStatusTraceEvent (line 133) | void postJobStatusTraceEvent(String taskId, JobStatusTraceEvent.State ...
method getJobRuntimeService (line 140) | JobRuntimeService getJobRuntimeService();
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobJobRuntimeServiceImpl.java
class JobJobRuntimeServiceImpl (line 26) | @RequiredArgsConstructor
method isNeedSharding (line 31) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/ShardingJobFacade.java
class ShardingJobFacade (line 41) | @Slf4j
method ShardingJobFacade (line 58) | public ShardingJobFacade(final CoordinatorRegistryCenter regCenter, fi...
method getShardingContexts (line 75) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/SingleShardingJobFacade.java
class SingleShardingJobFacade (line 49) | @Slf4j
method SingleShardingJobFacade (line 70) | public SingleShardingJobFacade(final CoordinatorRegistryCenter regCent...
method registerJobCompleted (line 85) | @Override
method getShardingContexts (line 120) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/item/JobItemExecutorFactory.java
class JobItemExecutorFactory (line 31) | @SuppressWarnings("rawtypes")
method getExecutor (line 41) | @SuppressWarnings("unchecked")
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/ElasticJobExecutorService.java
class ElasticJobExecutorService (line 32) | public final class ElasticJobExecutorService {
method ElasticJobExecutorService (line 38) | public ElasticJobExecutorService(final String namingPattern, final int...
method createExecutorService (line 50) | public ExecutorService createExecutorService() {
method isShutdown (line 59) | public boolean isShutdown() {
method getActiveThreadCount (line 68) | public int getActiveThreadCount() {
method getWorkQueueSize (line 77) | public int getWorkQueueSize() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/ExecutorServiceReloader.java
class ExecutorServiceReloader (line 30) | public final class ExecutorServiceReloader implements Closeable {
method ExecutorServiceReloader (line 37) | public ExecutorServiceReloader(final JobConfiguration jobConfig) {
method reloadIfNecessary (line 46) | public synchronized void reloadIfNecessary(final JobConfiguration jobC...
method init (line 54) | private void init(final JobConfiguration jobConfig) {
method close (line 60) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/JobExecutorThreadPoolSizeProvider.java
type JobExecutorThreadPoolSizeProvider (line 26) | @SingletonSPI
method getSize (line 34) | int getSize();
method getType (line 36) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/type/CPUUsageJobExecutorThreadPoolSizeProvider.java
class CPUUsageJobExecutorThreadPoolSizeProvider (line 25) | public final class CPUUsageJobExecutorThreadPoolSizeProvider implements ...
method getSize (line 27) | @Override
method getType (line 32) | @Override
method isDefault (line 37) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/type/SingleThreadJobExecutorThreadPoolSizeProvider.java
class SingleThreadJobExecutorThreadPoolSizeProvider (line 25) | public final class SingleThreadJobExecutorThreadPoolSizeProvider impleme...
method getSize (line 27) | @Override
method getType (line 32) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/env/HostException.java
class HostException (line 25) | public final class HostException extends RuntimeException {
method HostException (line 29) | public HostException(final IOException cause) {
method HostException (line 33) | public HostException(final String message) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/env/IpUtils.java
class IpUtils (line 37) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getIp (line 55) | public static String getIp() {
method findNetworkInterface (line 73) | private static NetworkInterface findNetworkInterface() {
method getFirstNetworkInterface (line 101) | private static NetworkInterface getFirstNetworkInterface(final List<Ne...
method isPreferredNetworkInterface (line 119) | private static boolean isPreferredNetworkInterface(final NetworkInterf...
method ignoreNetworkInterface (line 124) | private static boolean ignoreNetworkInterface(final NetworkInterface n...
method isPreferredAddress (line 135) | private static boolean isPreferredAddress(final InetAddress inetAddres...
method isValidAddress (line 144) | private static boolean isValidAddress(final InetAddress inetAddress) {
method isIp6Address (line 153) | private static boolean isIp6Address(final InetAddress ipAddress) {
method getHostName (line 162) | public static String getHostName() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/ExceptionUtils.java
class ExceptionUtils (line 29) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method transform (line 38) | public static String transform(final Throwable cause) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobConfigurationException.java
class JobConfigurationException (line 23) | public final class JobConfigurationException extends RuntimeException {
method JobConfigurationException (line 27) | public JobConfigurationException(final String errorMessage, final Obje...
method JobConfigurationException (line 31) | public JobConfigurationException(final Throwable cause) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobExecutionEnvironmentException.java
class JobExecutionEnvironmentException (line 23) | public final class JobExecutionEnvironmentException extends Exception {
method JobExecutionEnvironmentException (line 27) | public JobExecutionEnvironmentException(final String errorMessage, fin...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobExecutionException.java
class JobExecutionException (line 23) | public final class JobExecutionException extends RuntimeException {
method JobExecutionException (line 27) | public JobExecutionException(final Throwable cause) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobSystemException.java
class JobSystemException (line 23) | public final class JobSystemException extends RuntimeException {
method JobSystemException (line 27) | public JobSystemException(final String errorMessage, final Object... a...
method JobSystemException (line 31) | public JobSystemException(final String errorMessage, final Throwable c...
method JobSystemException (line 35) | public JobSystemException(final Throwable cause) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/PropertiesPreconditions.java
class PropertiesPreconditions (line 29) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method checkRequired (line 38) | public static void checkRequired(final Properties props, final String ...
method checkPositiveInteger (line 48) | public static void checkPositiveInteger(final Properties props, final ...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/json/GsonFactory.java
class GsonFactory (line 28) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getGson (line 38) | public static Gson getGson() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/time/TimeService.java
class TimeService (line 23) | public final class TimeService {
method getCurrentMillis (line 30) | public long getCurrentMillis() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/util/BlockUtils.java
class BlockUtils (line 26) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method waitingShortTime (line 34) | public static void waitingShortTime() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/util/SensitiveInfoUtils.java
class SensitiveInfoUtils (line 35) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method filterSensitiveIps (line 48) | public static List<String> filterSensitiveIps(final List<String> targe...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/YamlEngine.java
class YamlEngine (line 30) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method marshal (line 39) | public static String marshal(final Object value) {
method unmarshal (line 51) | public static <T> T unmarshal(final String yamlContent, final Class<T>...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/representer/DefaultYamlTupleProcessor.java
class DefaultYamlTupleProcessor (line 30) | public final class DefaultYamlTupleProcessor {
method process (line 38) | public NodeTuple process(final NodeTuple nodeTuple) {
method isUnsetNodeTuple (line 42) | private boolean isUnsetNodeTuple(final Node valueNode) {
method isNullNode (line 46) | private boolean isNullNode(final Node valueNode) {
method isEmptyCollectionNode (line 50) | private boolean isEmptyCollectionNode(final Node valueNode) {
method isEmptySequenceNode (line 54) | private boolean isEmptySequenceNode(final Node valueNode) {
method isEmptyMappingNode (line 58) | private boolean isEmptyMappingNode(final Node valueNode) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/representer/ElasticJobYamlRepresenter.java
class ElasticJobYamlRepresenter (line 29) | public final class ElasticJobYamlRepresenter extends Representer {
method ElasticJobYamlRepresenter (line 31) | public ElasticJobYamlRepresenter(final DumperOptions options) {
method representJavaBeanProperty (line 35) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/annotation/JobAnnotationBuilder.java
class JobAnnotationBuilder (line 34) | public final class JobAnnotationBuilder {
method generateJobConfiguration (line 42) | public static JobConfiguration generateJobConfiguration(final Class<?>...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/ConfigurationNode.java
class ConfigurationNode (line 25) | public final class ConfigurationNode {
method ConfigurationNode (line 31) | public ConfigurationNode(final String jobName) {
method isConfigPath (line 41) | public boolean isConfigPath(final String path) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/ConfigurationService.java
class ConfigurationService (line 32) | public final class ConfigurationService {
method ConfigurationService (line 38) | public ConfigurationService(final CoordinatorRegistryCenter regCenter,...
method load (line 49) | public JobConfiguration load(final boolean fromCache) {
method setUpJobConfiguration (line 73) | public JobConfiguration setUpJobConfiguration(final String jobClassNam...
method checkConflictJob (line 83) | private void checkConflictJob(final String newJobClassName, final JobC...
method checkMaxTimeDiffSecondsTolerable (line 99) | public void checkMaxTimeDiffSecondsTolerable() throws JobExecutionEnvi...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/JobConfigurationPOJO.java
class JobConfigurationPOJO (line 36) | @Getter
method toJobConfiguration (line 89) | public JobConfiguration toJobConfiguration() {
method fromJobConfiguration (line 110) | @SuppressWarnings("unchecked")
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/RescheduleListenerManager.java
class RescheduleListenerManager (line 33) | public final class RescheduleListenerManager extends AbstractListenerMan...
method RescheduleListenerManager (line 39) | public RescheduleListenerManager(final CoordinatorRegistryCenter regCe...
method start (line 45) | @Override
class CronSettingAndJobEventChangedJobListener (line 50) | class CronSettingAndJobEventChangedJobListener implements DataChangedE...
method onChange (line 52) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContext.java
class TaskContext (line 37) | @Getter
method TaskContext (line 57) | public TaskContext(final String jobName, final List<Integer> shardingI...
method TaskContext (line 61) | public TaskContext(final String jobName, final List<Integer> shardingI...
method TaskContext (line 68) | private TaskContext(final String id, final MetaInfo metaInfo, final Ex...
method from (line 81) | public static TaskContext from(final String id) {
method getIdForUnassignedSlave (line 93) | public static String getIdForUnassignedSlave(final String id) {
method setSlaveId (line 102) | public void setSlaveId(final String slaveId) {
method getTaskName (line 112) | public String getTaskName() {
method getExecutorId (line 122) | public String getExecutorId(final String appName) {
class MetaInfo (line 129) | @RequiredArgsConstructor
method from (line 144) | public static MetaInfo from(final String value) {
method toString (line 152) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/election/ElectionListenerManager.java
class ElectionListenerManager (line 36) | public final class ElectionListenerManager extends AbstractListenerManag...
method ElectionListenerManager (line 48) | public ElectionListenerManager(final CoordinatorRegistryCenter regCent...
method start (line 57) | @Override
class LeaderElectionJobListener (line 63) | class LeaderElectionJobListener implements DataChangedEventListener {
method onChange (line 65) | @Override
method isActiveElection (line 72) | private boolean isActiveElection(final String path, final String dat...
method isPassiveElection (line 76) | private boolean isPassiveElection(final String path, final Type even...
method isLeaderCrashed (line 81) | private boolean isLeaderCrashed(final String path, final Type eventT...
method isLocalServerEnabled (line 85) | private boolean isLocalServerEnabled(final String path, final String...
class LeaderAbdicationJobListener (line 90) | class LeaderAbdicationJobListener implements DataChangedEventListener {
method onChange (line 92) | @Override
method isLocalServerDisabled (line 99) | private boolean isLocalServerDisabled(final String path, final Strin...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/election/LeaderNode.java
class LeaderNode (line 25) | public final class LeaderNode {
method LeaderNode (line 37) | LeaderNode(final String jobName) {
method isLeaderInstancePath (line 41) | boolean isLeaderInstancePath(final String path) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/election/LeaderService.java
class LeaderService (line 32) | @Slf4j
method LeaderService (line 41) | public LeaderService(final CoordinatorRegistryCenter regCenter, final ...
method electLeader (line 50) | public void electLeader() {
method isLeaderUntilBlock (line 65) | public boolean isLeaderUntilBlock() {
method isLeader (line 81) | public boolean isLeader() {
method hasLeader (line 90) | public boolean hasLeader() {
method removeLeader (line 97) | public void removeLeader() {
class LeaderElectionExecutionCallback (line 101) | @RequiredArgsConstructor
method execute (line 104) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManager.java
class FailoverListenerManager (line 46) | public final class FailoverListenerManager extends AbstractListenerManag...
method FailoverListenerManager (line 64) | public FailoverListenerManager(final CoordinatorRegistryCenter regCent...
method start (line 76) | @Override
method isFailoverEnabled (line 83) | private boolean isFailoverEnabled() {
class JobCrashedJobListener (line 87) | class JobCrashedJobListener implements DataChangedEventListener {
method onChange (line 89) | @Override
class FailoverSettingsChangedJobListener (line 113) | class FailoverSettingsChangedJobListener implements DataChangedEventLi...
method onChange (line 115) | @Override
class LegacyCrashedRunningItemListener (line 123) | class LegacyCrashedRunningItemListener implements DataChangedEventList...
method onChange (line 125) | @Override
method isCurrentInstanceOnline (line 157) | private boolean isCurrentInstanceOnline(final DataChangedEvent event) {
method isTheOnlyInstance (line 161) | private boolean isTheOnlyInstance(final Set<JobInstance> availableJo...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverNode.java
class FailoverNode (line 27) | public final class FailoverNode {
method FailoverNode (line 47) | public FailoverNode(final String jobName) {
method getItemsNode (line 51) | static String getItemsNode(final int item) {
method getExecutionFailoverNode (line 55) | static String getExecutionFailoverNode(final int item) {
method getExecutingFailoverNode (line 59) | static String getExecutingFailoverNode(final int item) {
method getItemByExecutionFailoverPath (line 69) | public Integer getItemByExecutionFailoverPath(final String path) {
method isFailoverPath (line 76) | private boolean isFailoverPath(final String path) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverService.java
class FailoverService (line 42) | @Slf4j
method FailoverService (line 53) | public FailoverService(final CoordinatorRegistryCenter regCenter, fina...
method setCrashedFailoverFlag (line 65) | public void setCrashedFailoverFlag(final int item) {
method setCrashedFailoverFlagDirectly (line 77) | public void setCrashedFailoverFlagDirectly(final int item) {
method isFailoverAssigned (line 81) | private boolean isFailoverAssigned(final Integer item) {
method failoverIfNecessary (line 88) | public void failoverIfNecessary() {
method needFailover (line 94) | private boolean needFailover() {
method updateFailoverComplete (line 104) | public void updateFailoverComplete(final Collection<Integer> items) {
method getFailoverItems (line 117) | public List<Integer> getFailoverItems(final String jobInstanceId) {
method getFailoveringItems (line 137) | public List<Integer> getFailoveringItems(final String jobInstanceId) {
method getLocalFailoverItems (line 156) | public List<Integer> getLocalFailoverItems() {
method getLocalTakeOffItems (line 168) | public List<Integer> getLocalTakeOffItems() {
method getAllFailoveringItems (line 184) | public Map<Integer, JobInstance> getAllFailoveringItems() {
method clearFailoveringItem (line 201) | public void clearFailoveringItem(final int item) {
method removeFailoverInfo (line 208) | public void removeFailoverInfo() {
class FailoverLeaderExecutionCallback (line 214) | class FailoverLeaderExecutionCallback implements LeaderExecutionCallba...
method execute (line 216) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/guarantee/GuaranteeListenerManager.java
class GuaranteeListenerManager (line 33) | public final class GuaranteeListenerManager extends AbstractListenerMana...
method GuaranteeListenerManager (line 39) | public GuaranteeListenerManager(final CoordinatorRegistryCenter regCen...
method start (line 45) | @Override
class StartedNodeRemovedJobListener (line 51) | class StartedNodeRemovedJobListener implements DataChangedEventListener {
method onChange (line 53) | @Override
class CompletedNodeRemovedJobListener (line 65) | class CompletedNodeRemovedJobListener implements DataChangedEventListe...
method onChange (line 67) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/guarantee/GuaranteeNode.java
class GuaranteeNode (line 25) | public final class GuaranteeNode {
method GuaranteeNode (line 39) | GuaranteeNode(final String jobName) {
method getStartedNode (line 43) | static String getStartedNode(final int shardingItem) {
method getCompletedNode (line 47) | static String getCompletedNode(final int shardingItem) {
method isStartedRootNode (line 51) | boolean isStartedRootNode(final String path) {
method isCompletedRootNode (line 55) | boolean isCompletedRootNode(final String path) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/guarantee/GuaranteeService.java
class GuaranteeService (line 33) | public final class GuaranteeService {
method GuaranteeService (line 39) | public GuaranteeService(final CoordinatorRegistryCenter regCenter, fin...
method registerStart (line 49) | public void registerStart(final Collection<Integer> shardingItems) {
method isRegisterStartSuccess (line 61) | public boolean isRegisterStartSuccess(final Collection<Integer> shardi...
method isAllStarted (line 75) | public boolean isAllStarted() {
method clearAllStartedInfo (line 83) | public void clearAllStartedInfo() {
method registerComplete (line 92) | public void registerComplete(final Collection<Integer> shardingItems) {
method isRegisterCompleteSuccess (line 104) | public boolean isRegisterCompleteSuccess(final Collection<Integer> sha...
method isAllCompleted (line 118) | public boolean isAllCompleted() {
method clearAllCompletedInfo (line 126) | public void clearAllCompletedInfo() {
method executeInLeaderForLastStarted (line 136) | public void executeInLeaderForLastStarted(final AbstractDistributeOnce...
method executeInLeaderForLastCompleted (line 148) | public void executeInLeaderForLastCompleted(final AbstractDistributeOn...
class LeaderExecutionCallbackForLastStarted (line 157) | @RequiredArgsConstructor
method execute (line 164) | @Override
class LeaderExecutionCallbackForLastCompleted (line 180) | @RequiredArgsConstructor
method execute (line 187) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/instance/InstanceNode.java
class InstanceNode (line 27) | public final class InstanceNode {
method InstanceNode (line 37) | public InstanceNode(final String jobName) {
method getInstanceFullPath (line 47) | public String getInstanceFullPath() {
method isInstancePath (line 57) | public boolean isInstancePath(final String path) {
method isLocalInstancePath (line 61) | boolean isLocalInstancePath(final String path) {
method getLocalInstancePath (line 70) | public String getLocalInstancePath() {
method getLocalInstanceValue (line 79) | public String getLocalInstanceValue() {
method getInstancePath (line 89) | public String getInstancePath(final String instanceId) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/instance/InstanceService.java
class InstanceService (line 33) | public final class InstanceService {
method InstanceService (line 43) | public InstanceService(final CoordinatorRegistryCenter regCenter, fina...
method persistOnline (line 53) | public void persistOnline() {
method removeInstance (line 60) | public void removeInstance() {
method getAvailableJobInstances (line 69) | public List<JobInstance> getAvailableJobInstances() {
method isLocalJobInstanceExisted (line 85) | boolean isLocalJobInstanceExisted() {
method triggerAllInstances (line 92) | public void triggerAllInstances() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/instance/ShutdownListenerManager.java
class ShutdownListenerManager (line 31) | public final class ShutdownListenerManager extends AbstractListenerManag...
method ShutdownListenerManager (line 41) | public ShutdownListenerManager(final CoordinatorRegistryCenter regCent...
method start (line 49) | @Override
class InstanceShutdownStatusJobListener (line 54) | class InstanceShutdownStatusJobListener implements DataChangedEventLis...
method onChange (line 56) | @Override
method isRemoveInstance (line 64) | private boolean isRemoveInstance(final String path, final Type event...
method isReconnectedRegistryCenter (line 68) | private boolean isReconnectedRegistryCenter() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/AbstractListenerManager.java
class AbstractListenerManager (line 27) | public abstract class AbstractListenerManager {
method AbstractListenerManager (line 31) | protected AbstractListenerManager(final CoordinatorRegistryCenter regC...
method start (line 38) | public abstract void start();
method addDataListener (line 40) | protected void addDataListener(final DataChangedEventListener listener) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/ListenerManager.java
class ListenerManager (line 37) | public final class ListenerManager {
method ListenerManager (line 59) | public ListenerManager(final CoordinatorRegistryCenter regCenter, fina...
method startAllListeners (line 76) | public void startAllListeners() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/ListenerNotifierManager.java
class ListenerNotifierManager (line 34) | public final class ListenerNotifierManager {
method ListenerNotifierManager (line 40) | private ListenerNotifierManager() {
method getInstance (line 47) | public static ListenerNotifierManager getInstance() {
method registerJobNotifyExecutor (line 62) | public void registerJobNotifyExecutor(final String jobName) {
method getJobNotifyExecutor (line 79) | public Executor getJobNotifyExecutor(final String jobName) {
method removeJobNotifyExecutor (line 87) | public void removeJobNotifyExecutor(final String jobName) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/RegistryCenterConnectionStateListener.java
class RegistryCenterConnectionStateListener (line 32) | public final class RegistryCenterConnectionStateListener implements Conn...
method RegistryCenterConnectionStateListener (line 44) | public RegistryCenterConnectionStateListener(final CoordinatorRegistry...
method onStateChanged (line 52) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/reconcile/ReconcileService.java
class ReconcileService (line 32) | @Slf4j
method ReconcileService (line 45) | public ReconcileService(final CoordinatorRegistryCenter regCenter, fin...
method runOneIteration (line 53) | @Override
method isStaticSharding (line 65) | private boolean isStaticSharding() {
method hasShardingInfo (line 69) | private boolean hasShardingInfo() {
method scheduler (line 73) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobRegistry.java
class JobRegistry (line 33) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getInstance (line 53) | public static JobRegistry getInstance() {
method registerRegistryCenter (line 70) | public void registerRegistryCenter(final String jobName, final Coordin...
method registerJob (line 81) | public void registerJob(final String jobName, final JobScheduleControl...
method getJobScheduleController (line 91) | public JobScheduleController getJobScheduleController(final String job...
method getRegCenter (line 101) | public CoordinatorRegistryCenter getRegCenter(final String jobName) {
method addJobInstance (line 111) | public void addJobInstance(final String jobName, final JobInstance job...
method getJobInstance (line 121) | public JobInstance getJobInstance(final String jobName) {
method isJobRunning (line 131) | public boolean isJobRunning(final String jobName) {
method setJobRunning (line 141) | public void setJobRunning(final String jobName, final boolean isRunnin...
method getCurrentShardingTotalCount (line 151) | public int getCurrentShardingTotalCount(final String jobName) {
method setCurrentShardingTotalCount (line 161) | public void setCurrentShardingTotalCount(final String jobName, final i...
method shutdown (line 170) | public void shutdown(final String jobName) {
method isShutdown (line 185) | public boolean isShutdown(final String jobName) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduleController.java
class JobScheduleController (line 40) | @RequiredArgsConstructor
method scheduleJob (line 55) | public void scheduleJob(final String cron, final String timeZone) {
method rescheduleJob (line 72) | public synchronized void rescheduleJob(final String cron, final String...
method rescheduleJob (line 86) | public synchronized void rescheduleJob() {
method createCronTrigger (line 97) | private Trigger createCronTrigger(final String cron, final String time...
method parseTimeZoneString (line 108) | private TimeZone parseTimeZoneString(final String timeZoneString) {
method isPaused (line 121) | public synchronized boolean isPaused() {
method pauseJob (line 132) | public synchronized void pauseJob() {
method resumeJob (line 145) | public synchronized void resumeJob() {
method triggerJob (line 158) | public synchronized void triggerJob() {
method createOneOffTrigger (line 176) | private Trigger createOneOffTrigger() {
method shutdown (line 183) | public synchronized void shutdown() {
method shutdown (line 191) | public synchronized void shutdown(final boolean isCleanShutdown) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduler.java
class JobScheduler (line 56) | public final class JobScheduler {
method JobScheduler (line 77) | public JobScheduler(final CoordinatorRegistryCenter regCenter, final E...
method JobScheduler (line 99) | public JobScheduler(final CoordinatorRegistryCenter regCenter, final S...
method setUpJobConfiguration (line 120) | private JobConfiguration setUpJobConfiguration(final CoordinatorRegist...
method getElasticJobListeners (line 125) | private Collection<ElasticJobListener> getElasticJobListeners(final Jo...
method findTracingConfiguration (line 129) | private Optional<TracingConfiguration<?>> findTracingConfiguration() {
method validateJobProperties (line 133) | private void validateJobProperties() {
method validateJobErrorHandlerProperties (line 137) | private void validateJobErrorHandlerProperties() {
method setGuaranteeServiceForElasticJobListeners (line 144) | private void setGuaranteeServiceForElasticJobListeners(final Coordinat...
method createJobScheduleController (line 153) | private JobScheduleController createJobScheduleController() {
method createScheduler (line 160) | private Scheduler createScheduler() {
method getQuartzProps (line 173) | private Properties getQuartzProps() {
method createJobDetail (line 185) | private JobDetail createJobDetail() {
method registerStartUpInfo (line 191) | private void registerStartUpInfo() {
method shutdown (line 201) | public void shutdown() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobShutdownHookPlugin.java
class JobShutdownHookPlugin (line 34) | @Slf4j
method initialize (line 43) | @Override
method start (line 56) | @Override
method shutdown (line 61) | @Override
method registerShutdownHook (line 74) | private void registerShutdownHook() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobTriggerListener.java
class JobTriggerListener (line 29) | @RequiredArgsConstructor
method getName (line 36) | @Override
method triggerMisfired (line 41) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/LiteJob.java
class LiteJob (line 31) | @Setter
method execute (line 38) | @Override
method interrupt (line 48) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/SchedulerFacade.java
class SchedulerFacade (line 28) | public final class SchedulerFacade {
method SchedulerFacade (line 38) | public SchedulerFacade(final CoordinatorRegistryCenter regCenter, fina...
method newJobTriggerListener (line 50) | public JobTriggerListener newJobTriggerListener() {
method shutdownInstance (line 57) | public void shutdownInstance() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/server/ServerNode.java
class ServerNode (line 31) | public final class ServerNode {
method ServerNode (line 41) | public ServerNode(final String jobName) {
method isServerPath (line 52) | public boolean isServerPath(final String path) {
method isLocalServerPath (line 62) | public boolean isLocalServerPath(final String path) {
method getServerNode (line 70) | String getServerNode(final String ip) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/server/ServerService.java
class ServerService (line 36) | public final class ServerService {
method ServerService (line 44) | public ServerService(final CoordinatorRegistryCenter regCenter, final ...
method persistOnline (line 55) | public void persistOnline(final boolean enabled) {
method hasAvailableServers (line 66) | public boolean hasAvailableServers() {
method isAvailableServer (line 82) | public boolean isAvailableServer(final String ip) {
method hasOnlineInstances (line 86) | private boolean hasOnlineInstances(final String ip) {
method isEnableServer (line 101) | public boolean isEnableServer(final String ip) {
method removeOfflineServers (line 115) | public int removeOfflineServers() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/server/ServerStatus.java
type ServerStatus (line 23) | public enum ServerStatus {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/DefaultJobClassNameProvider.java
class DefaultJobClassNameProvider (line 25) | public final class DefaultJobClassNameProvider implements JobClassNamePr...
method getJobClassName (line 29) | @Override
method isLambdaClass (line 36) | private boolean isLambdaClass(final Class<? extends ElasticJob> elasti...
method trimLambdaClassSuffix (line 40) | private String trimLambdaClassSuffix(final String className) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/JobClassNameProvider.java
type JobClassNameProvider (line 26) | @SingletonSPI
method getJobClassName (line 35) | String getJobClassName(ElasticJob elasticJob);
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/JobClassNameProviderFactory.java
class JobClassNameProviderFactory (line 29) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getProvider (line 39) | public static JobClassNameProvider getProvider() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/SetUpFacade.java
class SetUpFacade (line 33) | public final class SetUpFacade {
method SetUpFacade (line 55) | public SetUpFacade(final CoordinatorRegistryCenter regCenter, final St...
method registerStartUpInfo (line 70) | public void registerStartUpInfo(final boolean enabled) {
method tearDown (line 84) | public void tearDown() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionContextService.java
class ExecutionContextService (line 37) | public final class ExecutionContextService {
method ExecutionContextService (line 45) | public ExecutionContextService(final CoordinatorRegistryCenter regCent...
method getJobShardingContext (line 57) | public ShardingContexts getJobShardingContext(final List<Integer> shar...
method buildTaskId (line 69) | private String buildTaskId(final JobConfiguration jobConfig, final Lis...
method removeRunningIfMonitorExecution (line 76) | private void removeRunningIfMonitorExecution(final boolean monitorExec...
method isRunning (line 89) | private boolean isRunning(final int shardingItem) {
method getAssignedShardingItemParameterMap (line 93) | private Map<Integer, String> getAssignedShardingItemParameterMap(final...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionService.java
class ExecutionService (line 37) | public final class ExecutionService {
method ExecutionService (line 45) | public ExecutionService(final CoordinatorRegistryCenter regCenter, fin...
method registerJobBegin (line 56) | public void registerJobBegin(final ShardingContexts shardingContexts) {
method registerJobCompleted (line 77) | public void registerJobCompleted(final ShardingContexts shardingContex...
method clearAllRunningInfo (line 90) | public void clearAllRunningInfo() {
method clearRunningInfo (line 99) | public void clearRunningInfo(final List<Integer> items) {
method hasRunningItems (line 111) | public boolean hasRunningItems(final Collection<Integer> items) {
method hasRunningItems (line 129) | public boolean hasRunningItems() {
method getAllItems (line 133) | private List<Integer> getAllItems() {
method getAllRunningItems (line 147) | public Map<Integer, JobInstance> getAllRunningItems() {
method misfireIfHasRunningItems (line 165) | public boolean misfireIfHasRunningItems(final Collection<Integer> item...
method setMisfire (line 178) | public void setMisfire(final Collection<Integer> items) {
method getMisfiredJobItems (line 190) | public List<Integer> getMisfiredJobItems(final Collection<Integer> ite...
method clearMisfire (line 205) | public void clearMisfire(final Collection<Integer> items) {
method getDisabledItems (line 217) | public List<Integer> getDisabledItems(final List<Integer> items) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/JobInstance.java
class JobInstance (line 31) | @AllArgsConstructor
method JobInstance (line 45) | public JobInstance() {
method JobInstance (line 49) | public JobInstance(final String jobInstanceId) {
method JobInstance (line 53) | public JobInstance(final String jobInstanceId, final String labels) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/MonitorExecutionListenerManager.java
class MonitorExecutionListenerManager (line 32) | public final class MonitorExecutionListenerManager extends AbstractListe...
method MonitorExecutionListenerManager (line 38) | public MonitorExecutionListenerManager(final CoordinatorRegistryCenter...
method start (line 44) | @Override
class MonitorExecutionSettingsChangedJobListener (line 49) | class MonitorExecutionSettingsChangedJobListener implements DataChange...
method onChange (line 51) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingItemParameters.java
class ShardingItemParameters (line 32) | @Getter
method ShardingItemParameters (line 41) | public ShardingItemParameters(final String shardingItemParameters) {
method toMap (line 45) | private Map<Integer, String> toMap(final String originalShardingItemPa...
method parse (line 58) | private ShardingItem parse(final String shardingItemParameter, final S...
class ShardingItem (line 73) | @AllArgsConstructor
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingListenerManager.java
class ShardingListenerManager (line 37) | public final class ShardingListenerManager extends AbstractListenerManag...
method ShardingListenerManager (line 53) | public ShardingListenerManager(final CoordinatorRegistryCenter regCent...
method start (line 64) | @Override
class ShardingTotalCountChangedJobListener (line 70) | class ShardingTotalCountChangedJobListener implements DataChangedEvent...
method onChange (line 72) | @Override
class ListenServersChangedJobListener (line 84) | class ListenServersChangedJobListener implements DataChangedEventListe...
method onChange (line 86) | @Override
method isStaticSharding (line 93) | private boolean isStaticSharding() {
method hasShardingInfo (line 97) | private boolean hasShardingInfo() {
method isInstanceChange (line 101) | private boolean isInstanceChange(final Type eventType, final String ...
method isServerChange (line 105) | private boolean isServerChange(final String path) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingNode.java
class ShardingNode (line 26) | public final class ShardingNode {
method ShardingNode (line 50) | public ShardingNode(final String jobName) {
method getInstanceNode (line 60) | public static String getInstanceNode(final int item) {
method getRunningNode (line 70) | public static String getRunningNode(final int item) {
method getMisfireNode (line 74) | static String getMisfireNode(final int item) {
method getDisabledNode (line 78) | static String getDisabledNode(final int item) {
method getItemByRunningItemPath (line 88) | public Integer getItemByRunningItemPath(final String path) {
method isRunningItemPath (line 95) | private boolean isRunningItemPath(final String path) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingService.java
class ShardingService (line 48) | @Slf4j
method ShardingService (line 69) | public ShardingService(final CoordinatorRegistryCenter regCenter, fina...
method setReshardingFlag (line 84) | public void setReshardingFlag() {
method isNeedSharding (line 96) | public boolean isNeedSharding() {
method shardingIfNecessary (line 108) | public void shardingIfNecessary() {
method blockUntilShardingCompleted (line 128) | private void blockUntilShardingCompleted() {
method waitingOtherShardingItemCompleted (line 135) | private void waitingOtherShardingItemCompleted() {
method resetShardingInfo (line 142) | private void resetShardingInfo(final int shardingTotalCount) {
method getShardingResultTransactionOperations (line 155) | private List<TransactionOperation> getShardingResultTransactionOperati...
method getShardingItems (line 175) | public List<Integer> getShardingItems(final String jobInstanceId) {
method getCrashedShardingItems (line 196) | public List<Integer> getCrashedShardingItems(final String jobInstanceI...
method isRunningItem (line 211) | private boolean isRunningItem(final int item) {
method getLocalShardingItems (line 220) | public List<Integer> getLocalShardingItems() {
method hasShardingInfoInOfflineServers (line 232) | public boolean hasShardingInfoInOfflineServers() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/JobShardingStrategy.java
type JobShardingStrategy (line 29) | public interface JobShardingStrategy extends TypedSPI {
method sharding (line 39) | Map<JobInstance, List<Integer>> sharding(List<JobInstance> jobInstance...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/AverageAllocationJobShardingStrategy.java
class AverageAllocationJobShardingStrategy (line 41) | public final class AverageAllocationJobShardingStrategy implements JobSh...
method sharding (line 43) | @Override
method shardingAliquot (line 53) | private Map<JobInstance, List<Integer>> shardingAliquot(final List<Job...
method addAliquant (line 68) | private void addAliquant(final List<JobInstance> shardingUnits, final ...
method getType (line 79) | @Override
method isDefault (line 84) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/OdevitySortByNameJobShardingStrategy.java
class OdevitySortByNameJobShardingStrategy (line 39) | public final class OdevitySortByNameJobShardingStrategy implements JobSh...
method sharding (line 43) | @Override
method getType (line 52) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/RoundRobinByNameJobShardingStrategy.java
class RoundRobinByNameJobShardingStrategy (line 30) | public final class RoundRobinByNameJobShardingStrategy implements JobSha...
method sharding (line 34) | @Override
method rotateServerList (line 39) | private List<JobInstance> rotateServerList(final List<JobInstance> sha...
method getType (line 53) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/SingleShardingBalanceJobShardingStrategy.java
class SingleShardingBalanceJobShardingStrategy (line 38) | public class SingleShardingBalanceJobShardingStrategy implements JobShar...
method sharding (line 42) | @Override
method getType (line 56) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/snapshot/SnapshotService.java
class SnapshotService (line 42) | @Slf4j
method SnapshotService (line 55) | public SnapshotService(final CoordinatorRegistryCenter regCenter, fina...
method listen (line 64) | public void listen() {
method openSocket (line 72) | private int openSocket(final int port) throws IOException {
method isIgnoredException (line 92) | private boolean isIgnoredException() {
method process (line 96) | private void process(final Socket socket) throws IOException {
method dumpDirectly (line 110) | private void dumpDirectly(final String path, final String jobName, fin...
method dumpJobDirectly (line 139) | public String dumpJobDirectly(final String jobName) {
method dumpJob (line 154) | public static String dumpJob(final String instanceIp, final int dumpPo...
method outputMessage (line 171) | private void outputMessage(final BufferedWriter outputWriter, final St...
method close (line 179) | public void close() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/storage/JobNodePath.java
class JobNodePath (line 29) | @RequiredArgsConstructor
method getFullPath (line 50) | public String getFullPath(final String node) {
method getConfigNodePath (line 59) | public String getConfigNodePath() {
method getLeaderHostNodePath (line 68) | public String getLeaderHostNodePath() {
method getServerNodePath (line 77) | public String getServerNodePath() {
method getServerNodePath (line 87) | public String getServerNodePath(final String serverIp) {
method getInstancesNodePath (line 96) | public String getInstancesNodePath() {
method getInstanceNodePath (line 106) | public String getInstanceNodePath(final String instanceId) {
method getShardingNodePath (line 115) | public String getShardingNodePath() {
method getShardingNodePath (line 126) | public String getShardingNodePath(final String item, final String node...
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/storage/JobNodeStorage.java
class JobNodeStorage (line 35) | public final class JobNodeStorage {
method JobNodeStorage (line 43) | public JobNodeStorage(final CoordinatorRegistryCenter regCenter, final...
method isJobNodeExisted (line 55) | public boolean isJobNodeExisted(final String node) {
method isJobRootNodeExisted (line 64) | public boolean isJobRootNodeExisted() {
method getJobNodeData (line 74) | public String getJobNodeData(final String node) {
method getJobNodeDataDirectly (line 84) | public String getJobNodeDataDirectly(final String node) {
method getJobNodeChildrenKeys (line 94) | public List<String> getJobNodeChildrenKeys(final String node) {
method getJobRootNodeData (line 103) | public String getJobRootNodeData() {
method createJobNodeIfNeeded (line 114) | public void createJobNodeIfNeeded(final String node) {
method removeJobNodeIfExisted (line 125) | public void removeJobNodeIfExisted(final String node) {
method fillJobNode (line 137) | public void fillJobNode(final String node, final Object value) {
method fillEphemeralJobNode (line 147) | public void fillEphemeralJobNode(final String node, final Object value) {
method updateJobNode (line 157) | public void updateJobNode(final String node, final Object value) {
method replaceJobNode (line 167) | public void replaceJobNode(final String node, final Object value) {
method replaceJobRootNode (line 176) | public void replaceJobRootNode(final Object value) {
method executeInTransaction (line 185) | public void executeInTransaction(final List<TransactionOperation> tran...
method executeInLeader (line 204) | public void executeInLeader(final String latchNode, final LeaderExecut...
method addConnectionStateListener (line 213) | public void addConnectionStateListener(final ConnectionStateChangedEve...
method addDataListener (line 222) | public void addDataListener(final DataChangedEventListener listener) {
method getRegistryCenterTime (line 232) | public long getRegistryCenterTime() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/trigger/TriggerListenerManager.java
class TriggerListenerManager (line 30) | public final class TriggerListenerManager extends AbstractListenerManager {
method TriggerListenerManager (line 38) | public TriggerListenerManager(final CoordinatorRegistryCenter regCente...
method start (line 45) | @Override
class JobTriggerStatusJobListener (line 50) | class JobTriggerStatusJobListener implements DataChangedEventListener {
method onChange (line 52) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/trigger/TriggerNode.java
class TriggerNode (line 27) | public final class TriggerNode {
method TriggerNode (line 37) | public TriggerNode(final String jobName) {
method isLocalTriggerPath (line 48) | public boolean isLocalTriggerPath(final String path) {
method getLocalTriggerPath (line 58) | public String getLocalTriggerPath() {
method getTriggerPath (line 68) | public String getTriggerPath(final String instanceId) {
method getTriggerRoot (line 77) | public String getTriggerRoot() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/trigger/TriggerService.java
class TriggerService (line 26) | public final class TriggerService {
method TriggerService (line 32) | public TriggerService(final CoordinatorRegistryCenter regCenter, final...
method removeTriggerFlag (line 40) | public void removeTriggerFlag() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/listener/AbstractDistributeOnceElasticJobListener.java
class AbstractDistributeOnceElasticJobListener (line 33) | public abstract class AbstractDistributeOnceElasticJobListener implement...
method AbstractDistributeOnceElasticJobListener (line 48) | public AbstractDistributeOnceElasticJobListener(final long startedTime...
method beforeJobExecuted (line 53) | @Override
method afterJobExecuted (line 81) | @Override
method handleTimeout (line 109) | private void handleTimeout(final long timeoutMilliseconds) {
method doBeforeJobExecutedAtLastStarted (line 118) | public abstract void doBeforeJobExecutedAtLastStarted(ShardingContexts...
method doAfterJobExecutedAtLastCompleted (line 125) | public abstract void doAfterJobExecutedAtLastCompleted(ShardingContext...
method notifyWaitingTaskStart (line 130) | public void notifyWaitingTaskStart() {
method notifyWaitingTaskComplete (line 139) | public void notifyWaitingTaskComplete() {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingConfiguration.java
class TracingConfiguration (line 32) | @RequiredArgsConstructor
method TracingConfiguration (line 40) | @SuppressWarnings("unchecked")
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBus.java
class JobTracingEventBus (line 39) | @Slf4j
method JobTracingEventBus (line 52) | public JobTracingEventBus() {
method JobTracingEventBus (line 56) | public JobTracingEventBus(final TracingConfiguration<?> tracingConfig) {
method createExecutorService (line 61) | private static ExecutorService createExecutorService(final int threadS...
method register (line 68) | @SuppressWarnings("unchecked")
method post (line 87) | public void post(final JobEvent event) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/exception/TracingStorageUnavailableException.java
class TracingStorageUnavailableException (line 23) | public final class TracingStorageUnavailableException extends RuntimeExc...
method TracingStorageUnavailableException (line 27) | public TracingStorageUnavailableException(final Throwable cause) {
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactory.java
class TracingStorageConverterFactory (line 30) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method findConverter (line 40) | @SuppressWarnings("unchecked")
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfiguration.java
class YamlTracingConfiguration (line 30) | @Getter
method toConfiguration (line 40) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfigurationConverter.java
class YamlTracingConfigurationConverter (line 30) | @SuppressWarnings({"rawtypes", "unchecked"})
method convertToYamlConfiguration (line 33) | @Override
method convertTracingStorageConfiguration (line 41) | private YamlTracingStorageConfiguration<T> convertTracingStorageConfig...
method getType (line 45) | @Override
FILE: kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingStorageConfiguration.java
type YamlTracingStorageConfiguration (line 28) | public interface YamlTracingStorageConfiguration<T> extends YamlConfigur...
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutorTest.java
class ElasticJobExecutorTest (line 53) | @ExtendWith(MockitoExtension.class)
method setUp (line 73) | @BeforeEach
method createJobConfiguration (line 82) | private JobConfiguration createJobConfiguration() {
method assertExecuteWhenCheckMaxTimeDiffSecondsIntolerable (line 87) | @Test
method assertExecuteWhenPreviousJobStillRunning (line 99) | @Test
method assertExecuteWhenShardingItemsIsEmpty (line 111) | @Test
method assertExecuteFailureWhenThrowExceptionForSingleShardingItem (line 121) | @Test
method assertExecuteFailureWhenThrowExceptionForMultipleShardingItems (line 126) | @Test
method assertExecuteFailureWhenThrowException (line 131) | private void assertExecuteFailureWhenThrowException(final ShardingCont...
method isValidErrorMessage (line 146) | private boolean isValidErrorMessage(final String errorMessage, final S...
method assertExecuteSuccessForSingleShardingItems (line 156) | @Test
method assertExecuteSuccessForMultipleShardingItems (line 161) | @Test
method assertExecuteSuccess (line 166) | private void assertExecuteSuccess(final ShardingContexts shardingConte...
method assertExecuteWithMisfireIsEmpty (line 175) | @Test
method assertExecuteWithMisfireIsNotEmptyButIsNotEligibleForJobRunning (line 184) | @Test
method assertExecuteWithMisfire (line 194) | @Test
method assertBeforeJobExecutedFailure (line 208) | @Test
method assertAfterJobExecutedFailure (line 222) | @Test
method createSingleShardingContexts (line 236) | private ShardingContexts createSingleShardingContexts() {
method createMultipleShardingContexts (line 242) | private ShardingContexts createMultipleShardingContexts() {
method prepareForIsNotMisfire (line 249) | private void prepareForIsNotMisfire(final JobFacade jobFacade, final S...
method verifyForIsNotMisfire (line 255) | private void verifyForIsNotMisfire(final JobFacade jobFacade, final Sh...
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloaderTest.java
class JobErrorHandlerReloaderTest (line 39) | @ExtendWith(MockitoExtension.class)
method assertInitialize (line 45) | @Test
method assertReload (line 56) | @Test
method assertUnnecessaryToReload (line 72) | @Test
method assertShutdown (line 83) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/BarJobErrorHandlerFixture.java
class BarJobErrorHandlerFixture (line 22) | public final class BarJobErrorHandlerFixture implements JobErrorHandler {
method handleException (line 24) | @Override
method getType (line 28) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/FooJobErrorHandlerFixture.java
class FooJobErrorHandlerFixture (line 23) | public final class FooJobErrorHandlerFixture implements JobErrorHandler {
method handleException (line 25) | @Override
method getType (line 30) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/ShardingJobFacadeTest.java
class ShardingJobFacadeTest (line 48) | @ExtendWith(MockitoExtension.class)
method setUp (line 76) | @BeforeEach
method assertLoad (line 95) | @Test
method assertCheckMaxTimeDiffSecondsTolerable (line 102) | @Test
method assertFailoverIfUnnecessary (line 108) | @Test
method assertFailoverIfNecessary (line 115) | @Test
method assertRegisterJobBegin (line 122) | @Test
method assertRegisterJobCompletedWhenFailoverDisabled (line 129) | @Test
method assertRegisterJobCompletedWhenFailoverEnabled (line 138) | @Test
method assertGetShardingContextWhenIsFailoverEnableAndFailover (line 147) | @Test
method assertGetShardingContextWhenIsFailoverEnableAndNotFailover (line 157) | @Test
method assertGetShardingContextWhenIsFailoverDisable (line 169) | @Test
method assertGetShardingContextWhenHasDisabledItems (line 179) | @Test
method assertMisfireIfRunning (line 190) | @Test
method assertClearMisfire (line 196) | @Test
method assertIsNeedSharding (line 202) | @Test
method assertBeforeJobExecuted (line 208) | @Test
method assertAfterJobExecuted (line 215) | @Test
method assertPostJobExecutionEvent (line 222) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/SingleShardingJobFacadeTest.java
class SingleShardingJobFacadeTest (line 55) | @ExtendWith(MockitoExtension.class)
method setUp (line 89) | @BeforeEach
method assertLoad (line 110) | @Test
method assertCheckMaxTimeDiffSecondsTolerable (line 117) | @Test
method assertFailoverIfUnnecessary (line 123) | @Test
method assertFailoverIfNecessary (line 130) | @Test
method assertRegisterJobBegin (line 137) | @Test
method assertRegisterJobCompletedWhenFailoverDisabled (line 144) | @Test
method assertRegisterJobCompletedWhenFailoverEnabled (line 153) | @Test
method assertRegisterJobCompletedWhenRunningOnCurrentHost (line 162) | @Test
method assertRegisterJobCompletedWhenRunningOnOtherHost (line 184) | @Test
method assertGetShardingContextWhenIsFailoverEnableAndFailover (line 205) | @Test
method assertGetShardingContextWhenIsFailoverEnableAndNotFailover (line 215) | @Test
method assertGetShardingContextWhenIsFailoverDisable (line 227) | @Test
method assertGetShardingContextWhenHasDisabledItems (line 237) | @Test
method assertGetShardingContextWhenIsFailoverDisableAndNoNeedShardingWithoutNextIP (line 248) | @Test
method assertGetShardingContextWhenIsFailoverDisableAndNoNeedShardingWithNextIP (line 262) | @Test
method assertGetShardingContextWhenIsFailoverDisableAndNeedSharding (line 279) | @Test
method assertMisfireIfRunning (line 292) | @Test
method assertClearMisfire (line 298) | @Test
method assertIsNeedSharding (line 304) | @Test
method assertBeforeJobExecuted (line 310) | @Test
method assertAfterJobExecuted (line 317) | @Test
method assertPostJobExecutionEvent (line 324) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/item/JobItemExecutorFactoryTest.java
class JobItemExecutorFactoryTest (line 31) | class JobItemExecutorFactoryTest {
method assertGetExecutorByClassFailureWithInvalidType (line 33) | @Test
method assertGetExecutorByClassSuccessWithCurrentClass (line 38) | @Test
method assertGetExecutorByClassSuccessWithSubClass (line 43) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/ElasticJobExecutorServiceTest.java
class ElasticJobExecutorServiceTest (line 31) | class ElasticJobExecutorServiceTest {
method assertCreateExecutorService (line 35) | @Test
class FooTask (line 60) | static class FooTask implements Runnable {
method run (line 62) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/ExecutorServiceReloaderTest.java
class ExecutorServiceReloaderTest (line 35) | @ExtendWith(MockitoExtension.class)
method assertInitialize (line 41) | @Test
method assertReload (line 53) | @Test
method assertUnnecessaryToReload (line 67) | @Test
method assertShutdown (line 79) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/type/CPUUsageJobExecutorThreadPoolSizeProviderTest.java
class CPUUsageJobExecutorThreadPoolSizeProviderTest (line 27) | class CPUUsageJobExecutorThreadPoolSizeProviderTest {
method assertGetPoolSize (line 29) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/threadpool/type/SingleThreadJobExecutorThreadPoolSizeProviderTest.java
class SingleThreadJobExecutorThreadPoolSizeProviderTest (line 27) | class SingleThreadJobExecutorThreadPoolSizeProviderTest {
method assertGetPoolSize (line 29) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/YamlConstants.java
class YamlConstants (line 23) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getJobYaml (line 50) | public static String getJobYaml() {
method getJobYaml (line 60) | public static String getJobYaml(final int maxTimeDiffSeconds) {
method getJobYamlWithFailover (line 70) | public static String getJobYamlWithFailover(final boolean failover) {
method getJobYamlWithMonitorExecution (line 80) | public static String getJobYamlWithMonitorExecution(final boolean moni...
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/ClassedFooJobExecutor.java
class ClassedFooJobExecutor (line 26) | public final class ClassedFooJobExecutor implements ClassedJobItemExecut...
method process (line 28) | @Override
method getElasticJobClass (line 33) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/TypedFooJobExecutor.java
class TypedFooJobExecutor (line 26) | public final class TypedFooJobExecutor implements TypedJobItemExecutor {
method process (line 28) | @Override
method getType (line 32) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/DetailedFooJob.java
class DetailedFooJob (line 26) | public final class DetailedFooJob implements FooJob {
method foo (line 33) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/FailedJob.java
class FailedJob (line 22) | public final class FailedJob implements ElasticJob {
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/FooJob.java
type FooJob (line 23) | public interface FooJob extends ElasticJob {
method foo (line 30) | void foo(ShardingContext shardingContext);
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/env/HostExceptionTest.java
class HostExceptionTest (line 27) | class HostExceptionTest {
method assertGetCause (line 29) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/env/IpUtilsTest.java
class IpUtilsTest (line 40) | class IpUtilsTest {
method assertGetIp (line 42) | @Test
method assertPreferredNetworkInterface (line 47) | @Test
method assertPreferredNetworkAddress (line 59) | @Test
method assertGetFirstNetworkInterface (line 78) | @Test
method assertGetHostName (line 112) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/ExceptionUtilsTest.java
class ExceptionUtilsTest (line 26) | class ExceptionUtilsTest {
method assertTransformWithError (line 28) | @Test
method assertTransformWithException (line 33) | @Test
method assertTransformWithNull (line 38) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobConfigurationExceptionTest.java
class JobConfigurationExceptionTest (line 26) | class JobConfigurationExceptionTest {
method assertGetMessage (line 28) | @Test
method assertGetCause (line 33) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobExecutionEnvironmentExceptionTest.java
class JobExecutionEnvironmentExceptionTest (line 25) | class JobExecutionEnvironmentExceptionTest {
method assertGetMessage (line 27) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/JobSystemExceptionTest.java
class JobSystemExceptionTest (line 26) | class JobSystemExceptionTest {
method assertGetMessage (line 28) | @Test
method assertGetMessageCause (line 33) | @Test
method assertGetCause (line 40) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/exception/PropertiesPreconditionsTest.java
class PropertiesPreconditionsTest (line 27) | class PropertiesPreconditionsTest {
method assertValidateIsRequiredWithValidateError (line 29) | @Test
method assertValidateIsRequiredWithNormal (line 38) | @Test
method assertValidateIsPositiveIntegerWithValueNoExist (line 45) | @Test
method assertValidateIsPositiveIntegerWithNormal (line 50) | @Test
method assertValidateIsPositiveIntegerWithWrongString (line 57) | @Test
method assertValidateIsPositiveIntegerWithNegativeNumber (line 68) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/json/GsonFactoryTest.java
class GsonFactoryTest (line 25) | class GsonFactoryTest {
method assertGetGson (line 27) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/time/TimeServiceTest.java
class TimeServiceTest (line 24) | class TimeServiceTest {
method assertGetCurrentMillis (line 28) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/util/SensitiveInfoUtilsTest.java
class SensitiveInfoUtilsTest (line 28) | class SensitiveInfoUtilsTest {
method assertFilterContentWithoutIp (line 30) | @Test
method assertFilterContentWithSensitiveIp (line 36) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/YamlEngineTest.java
class YamlEngineTest (line 27) | class YamlEngineTest {
method assertMarshal (line 37) | @Test
method assertMarshalWithNullValue (line 49) | @Test
method assertUnmarshal (line 56) | @Test
method assertUnmarshalWithNullValue (line 65) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/fixture/FooYamlConfiguration.java
class FooYamlConfiguration (line 23) | @Getter
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/annotation/JobAnnotationBuilderTest.java
class JobAnnotationBuilderTest (line 30) | class JobAnnotationBuilderTest {
method assertGenerateJobConfiguration (line 32) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/annotation/fixture/AnnotationJobFixture.java
class AnnotationJobFixture (line 24) | @ElasticJobConfiguration(
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/ConfigurationNodeTest.java
class ConfigurationNodeTest (line 24) | class ConfigurationNodeTest {
method assertIsConfigPath (line 28) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/ConfigurationServiceTest.java
class ConfigurationServiceTest (line 41) | @ExtendWith(MockitoExtension.class)
method setUp (line 49) | @BeforeEach
method assertLoadDirectly (line 54) | @Test
method assertLoadFromCache (line 63) | @Test
method assertLoadFromCacheButNull (line 72) | @Test
method assertSetUpJobConfigurationJobConfigurationForJobConflict (line 82) | @Test
method assertSetUpJobConfigurationNewJobConfiguration (line 96) | @Test
method assertSetUpJobConfigurationExistedJobConfigurationAndOverwrite (line 103) | @Test
method assertSetUpJobConfigurationExistedJobConfigurationAndNotOverwrite (line 111) | @Test
method assertIsMaxTimeDiffSecondsTolerableWithDefaultValue (line 121) | @Test
method assertIsMaxTimeDiffSecondsTolerable (line 127) | @Test
method assertIsNotMaxTimeDiffSecondsTolerable (line 135) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/JobConfigurationPOJOTest.java
class JobConfigurationPOJOTest (line 33) | class JobConfigurationPOJOTest {
method assertToJobConfiguration (line 67) | @Test
method assertFromJobConfiguration (line 105) | @Test
method assertMarshal (line 133) | @Test
method assertMarshalWithNullValue (line 150) | @Test
method assertUnmarshal (line 160) | @Test
method assertUnmarshalWithNullValue (line 178) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/RescheduleListenerManagerTest.java
class RescheduleListenerManagerTest (line 39) | @ExtendWith(MockitoExtension.class)
method setUp (line 53) | @BeforeEach
method assertStart (line 58) | @Test
method assertCronSettingChangedJobListenerWhenIsNotCronPath (line 64) | @Test
method assertCronSettingChangedJobListenerWhenIsCronPathButNotUpdate (line 70) | @Test
method assertCronSettingChangedJobListenerWhenIsCronPathAndUpdateButCannotFindJob (line 76) | @Test
method assertCronSettingChangedJobListenerWhenIsCronPathAndUpdateAndFindJob (line 82) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContextTest.java
class TaskContextTest (line 34) | class TaskContextTest {
method assertNew (line 36) | @Test
method assertNewWithoutSlaveId (line 46) | @Test
method assertGetMetaInfo (line 52) | @Test
method assertTaskContextFrom (line 58) | @Test
method assertMetaInfoFromWithMetaInfo (line 68) | @Test
method assertMetaInfoFromWithTaskId (line 75) | @Test
method assertMetaInfoFromWithMetaInfoWithoutShardingItems (line 82) | @Test
method assertMetaInfoFromWithTaskIdWithoutShardingItems (line 89) | @Test
method assertGetIdForUnassignedSlave (line 96) | @Test
method assertGetTaskName (line 101) | @Test
method assertGetExecutorId (line 107) | @Test
method assertSetSlaveId (line 113) | @Test
method assertSetIdle (line 121) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/fixture/TaskNode.java
class TaskNode (line 23) | @Builder
method getTaskNodeValue (line 41) | public String getTaskNodeValue() {
method getTaskNodePath (line 45) | private String getTaskNodePath() {
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/election/ElectionListenerManagerTest.java
class ElectionListenerManagerTest (line 41) | @ExtendWith(MockitoExtension.class)
method setUp (line 61) | @BeforeEach
method assertStart (line 69) | @Test
method assertIsNotLeaderInstancePathAndServerPath (line 75) | @Test
method assertLeaderElectionWhenAddLeaderInstancePath (line 81) | @Test
method assertLeaderElectionWhenRemoveLeaderInstancePathWithoutAvailableServers (line 87) | @Test
method assertLeaderElectionWhenRemoveLeaderInstancePathWithAvailableServerButJobInstanceIsShutdown (line 93) | @Test
method assertLeaderElectionWhenRemoveLeaderInstancePathWithAvailableServer (line 99) | @Test
method assertLeaderElectionWhenServerDisableWithoutLeader (line 109) | @Test
method assertLeaderElectionWhenServerEnableWithLeader (line 115) | @Test
method assertLeaderElectionWhenServerEnableWithoutLeader (line 121) | @Test
method assertLeaderAbdicationWhenFollowerDisable (line 130) | @Test
method assertLeaderAbdicationWhenLeaderDisable (line 136) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/election/LeaderNodeTest.java
class LeaderNodeTest (line 25) | class LeaderNodeTest {
method assertIsLeaderInstancePath (line 29) | @Test
method assertIsNotLeaderInstancePath (line 34) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/election/LeaderServiceTest.java
class LeaderServiceTest (line 42) | @ExtendWith(MockitoExtension.class)
method setUp (line 59) | @BeforeEach
method assertElectLeader (line 67) | @Test
method assertIsLeaderUntilBlockWithLeader (line 73) | @Test
method assertIsLeaderUntilBlockWithoutLeaderAndAvailableServers (line 84) | @Test
method assertIsLeaderUntilBlockWithoutLeaderWithAvailableServers (line 91) | @Test
method assertIsLeaderUntilBlockWhenHasLeader (line 98) | @Test
method assertIsLeader (line 111) | @Test
method assertHasLeader (line 120) | @Test
method assertRemoveLeader (line 126) | @Test
method assertElectLeaderExecutionCallbackWithLeader (line 132) | @Test
method assertElectLeaderExecutionCallbackWithoutLeader (line 139) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverListenerManagerTest.java
class FailoverListenerManagerTest (line 53) | @ExtendWith(MockitoExtension.class)
method setUp (line 82) | @BeforeEach
method assertStart (line 93) | @Test
method assertJobCrashedJobListenerWhenFailoverDisabled (line 99) | @Test
method assertJobCrashedJobListenerWhenIsNotNodeRemoved (line 105) | @Test
method assertJobCrashedJobListenerWhenIsNotInstancesPath (line 115) | @Test
method assertJobCrashedJobListenerWhenIsSameInstance (line 125) | @Test
method assertJobCrashedJobListenerWhenIsOtherInstanceCrashed (line 135) | @Test
method assertJobCrashedJobListenerWhenIsOtherFailoverInstanceCrashed (line 150) | @Test
method assertFailoverSettingsChangedJobListenerWhenIsNotFailoverPath (line 165) | @Test
method assertFailoverSettingsChangedJobListenerWhenIsFailoverPathButNotUpdate (line 171) | @Test
method assertFailoverSettingsChangedJobListenerWhenIsFailoverPathAndUpdateButEnableFailover (line 177) | @Test
method assertFailoverSettingsChangedJobListenerWhenIsFailoverPathAndUpdateButDisableFailover (line 183) | @Test
method assertLegacyCrashedRunningItemListenerWhenRunningItemsArePresent (line 189) | @Test
method assertLegacyCrashedRunningItemListenerWhenJobInstanceAbsent (line 211) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverNodeTest.java
class FailoverNodeTest (line 26) | class FailoverNodeTest {
method assertGetItemsNode (line 30) | @Test
method assertGetExecutionFailoverNode (line 35) | @Test
method assertGetItemWhenNotExecutionFailoverPath (line 40) | @Test
method assertGetItemByExecutionFailoverPath (line 45) | @Test
method assertGetProcessingFailoverNode (line 50) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/failover/FailoverServiceTest.java
class FailoverServiceTest (line 48) | @ExtendWith(MockitoExtension.class)
method setUp (line 68) | @BeforeEach
method assertSetCrashedFailoverFlagWhenItemIsNotAssigned (line 77) | @Test
method assertSetCrashedFailoverFlagWhenItemIsAssigned (line 85) | @Test
method assertSetCrashedFailoverFlagDirectly (line 93) | @Test
method assertFailoverIfUnnecessaryWhenItemsRootNodeNotExisted (line 99) | @Test
method assertFailoverIfUnnecessaryWhenItemsRootNodeIsEmpty (line 107) | @Test
method assertFailoverIfUnnecessaryWhenServerIsNotReady (line 117) | @Test
method assertFailoverIfNecessary (line 128) | @Test
method assertFailoverLeaderExecutionCallbackIfNotNecessary (line 140) | @Test
method assertFailoverLeaderExecutionCallbackIfNecessary (line 152) | @Test
method assertGetFailoveringItems (line 170) | @Test
method assertUpdateFailoverComplete (line 188) | @Test
method assertGetFailoverItems (line 195) | @Test
method assertGetLocalFailoverItemsIfShutdown (line 214) | @Test
method assertGetLocalFailoverItems (line 220) | @Test
method assertGetLocalTakeOffItems (line 239) | @Test
method assertGetAllFailoveringItems (line 252) | @Test
method assertClearFailoveringItem (line 264) | @Test
method assertRemoveFailoverInfo (line 270) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/guarantee/GuaranteeListenerManagerTest.java
class GuaranteeListenerManagerTest (line 39) | @ExtendWith(MockitoExtension.class)
method setUp (line 53) | @BeforeEach
method assertStart (line 59) | @Test
method assertStartedNodeRemovedJobListenerWhenIsNotRemoved (line 65) | @Test
method assertStartedNodeRemovedJobListenerWhenIsNotStartedNode (line 71) | @Test
method assertStartedNodeRemovedJobListenerWhenIsRemovedAndStartedNode (line 77) | @Test
method assertCompletedNodeRemovedJobListenerWhenIsNotRemoved (line 83) | @Test
method assertCompletedNodeRemovedJobListenerWhenIsNotCompletedNode (line 89) | @Test
method assertCompletedNodeRemovedJobListenerWhenIsRemovedAndCompletedNode (line 95) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/guarantee/GuaranteeNodeTest.java
class GuaranteeNodeTest (line 27) | class GuaranteeNodeTest {
method assertGetStartedNode (line 31) | @Test
method assertGetCompletedNode (line 36) | @Test
method assertIsStartedRootNode (line 41) | @Test
method assertIsNotStartedRootNode (line 46) | @Test
method assertIsCompletedRootNode (line 51) | @Test
method assertIsNotCompletedRootNode (line 56) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/guarantee/GuaranteeServiceTest.java
class GuaranteeServiceTest (line 40) | @ExtendWith(MockitoExtension.class)
method setUp (line 57) | @BeforeEach
method assertRegisterStart (line 63) | @Test
method assertIsNotRegisterStartSuccess (line 70) | @Test
method assertIsRegisterStartSuccess (line 75) | @Test
method assertIsNotAllStartedWhenRootNodeIsNotExisted (line 82) | @Test
method assertIsNotAllStarted (line 88) | @Test
method assertIsAllStarted (line 97) | @Test
method assertClearAllStartedInfo (line 105) | @Test
method assertRegisterComplete (line 111) | @Test
method assertIsNotRegisterCompleteSuccess (line 118) | @Test
method assertIsRegisterCompleteSuccess (line 123) | @Test
method assertIsNotAllCompletedWhenRootNodeIsNotExisted (line 130) | @Test
method assertIsNotAllCompleted (line 136) | @Test
method assertIsAllCompleted (line 142) | @Test
method assertClearAllCompletedInfo (line 150) | @Test
method assertExecuteInLeaderForLastCompleted (line 156) | @Test
method assertExecuteInLeaderForNotLastCompleted (line 165) | @Test
method assertExecuteInLeaderForLastStarted (line 172) | @Test
method assertExecuteInLeaderForNotLastStarted (line 181) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/instance/InstanceNodeTest.java
class InstanceNodeTest (line 30) | class InstanceNodeTest {
method setUp (line 34) | @BeforeAll
method assertGetInstanceFullPath (line 40) | @Test
method assertIsInstancePath (line 45) | @Test
method assertIsNotInstancePath (line 50) | @Test
method assertIsLocalInstancePath (line 55) | @Test
method assertIsNotLocalInstancePath (line 60) | @Test
method assertGetLocalInstancePath (line 65) | @Test
method assertGetInstancePath (line 70) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/instance/InstanceServiceTest.java
class InstanceServiceTest (line 40) | @ExtendWith(MockitoExtension.class)
method setUp (line 51) | @BeforeEach
method assertPersistOnline (line 61) | @Test
method assertRemoveInstance (line 67) | @Test
method assertGetAvailableJobInstances (line 73) | @Test
method assertGetAvailableJobInstancesWhenInstanceRemoving (line 82) | @Test
method assertIsLocalJobInstanceExisted (line 90) | @Test
method assertTriggerAllInstances (line 96) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/instance/ShutdownListenerManagerTest.java
class ShutdownListenerManagerTest (line 41) | @ExtendWith(MockitoExtension.class)
method setUp (line 61) | @BeforeEach
method tearDown (line 70) | @AfterEach
method assertStart (line 75) | @Test
method assertIsShutdownAlready (line 81) | @Test
method assertIsNotLocalInstancePath (line 87) | @Test
method assertUpdateLocalInstancePath (line 95) | @Test
method assertRemoveLocalInstancePathForPausedJob (line 103) | @Test
method assertRemoveLocalInstancePathForReconnectedRegistryCenter (line 112) | @Test
method assertRemoveLocalInstancePath (line 121) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/ListenerManagerTest.java
class ListenerManagerTest (line 40) | @ExtendWith(MockitoExtension.class)
method setUp (line 75) | @BeforeEach
method assertStartAllListeners (line 89) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/ListenerNotifierManagerTest.java
class ListenerNotifierManagerTest (line 29) | @ExtendWith(MockitoExtension.class)
method assertRegisterAndGetJobNotifyExecutor (line 32) | @Test
method assertRemoveAndShutDownJobNotifyExecutor (line 39) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/listener/RegistryCenterConnectionStateListenerTest.java
class RegistryCenterConnectionStateListenerTest (line 42) | @ExtendWith(MockitoExtension.class)
method setUp (line 65) | @BeforeEach
method assertConnectionLostListenerWhenConnectionStateIsLost (line 75) | @Test
method assertConnectionLostListenerWhenConnectionStateIsLostButIsShutdown (line 84) | @Test
method assertConnectionLostListenerWhenConnectionStateIsReconnected (line 91) | @Test
method assertConnectionLostListenerWhenConnectionStateIsReconnectedButIsShutdown (line 104) | @Test
method assertConnectionLostListenerWhenConnectionStateIsOther (line 111) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/reconcile/ReconcileServiceTest.java
class ReconcileServiceTest (line 38) | @ExtendWith(MockitoExtension.class)
method setup (line 52) | @BeforeEach
method assertReconcile (line 61) | @Test
method assertReconcileWithStaticSharding (line 72) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobRegistryTest.java
class JobRegistryTest (line 32) | class JobRegistryTest {
method assertRegisterJob (line 34) | @Test
method assertGetJobInstance (line 41) | @Test
method assertGetRegCenter (line 47) | @Test
method assertIsJobRunningIfNull (line 54) | @Test
method assertIsJobRunningIfNotNull (line 59) | @Test
method assertGetCurrentShardingTotalCountIfNull (line 65) | @Test
method assertGetCurrentShardingTotalCountIfNotNull (line 70) | @Test
method assertShutdown (line 77) | @Test
method assertIsShutdownForJobSchedulerNull (line 88) | @Test
method assertIsShutdownForJobInstanceNull (line 93) | @Test
method assertIsNotShutdown (line 102) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduleControllerTest.java
class JobScheduleControllerTest (line 46) | @ExtendWith(MockitoExtension.class)
method setUp (line 57) | @BeforeEach
method assertIsPausedFailure (line 62) | @Test
method assertIsPausedIfTriggerStateIsNormal (line 75) | @Test
method assertIsPausedIfTriggerStateIsPaused (line 82) | @Test
method assertIsPauseJobIfShutdown (line 89) | @Test
method assertPauseJobIfShutdown (line 96) | @Test
method assertPauseJobFailure (line 104) | @Test
method assertPauseJobSuccess (line 117) | @Test
method assertResumeJobIfShutdown (line 124) | @Test
method assertResumeJobFailure (line 132) | @Test
method assertResumeJobSuccess (line 145) | @Test
method assertTriggerJobIfShutdown (line 152) | @Test
method assertTriggerJobFailure (line 162) | @Test
method assertTriggerJobSuccess (line 180) | @Test
method assertTriggerOneOffJobSuccess (line 192) | @Test
method assertShutdownJobIfShutdown (line 205) | @Test
method assertShutdownFailure (line 213) | @Test
method assertShutdownSuccess (line 226) | @Test
method assertRescheduleJobIfShutdown (line 233) | @Test
method assertRescheduleJobFailure (line 241) | @Test
method assertRescheduleJobSuccess (line 255) | @Test
method assertRescheduleJobWhenTriggerIsNull (line 263) | @Test
method assertRescheduleJobIfShutdownForOneOffJob (line 270) | @Test
method assertRescheduleJobFailureForOneOffJob (line 278) | @Test
method assertRescheduleJobSuccessForOneOffJob (line 292) | @Test
method assertRescheduleJobWhenTriggerIsNullForOneOffJob (line 300) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobTriggerListenerTest.java
class JobTriggerListenerTest (line 38) | @ExtendWith(MockitoExtension.class)
method setUp (line 52) | @BeforeEach
method assertGetName (line 57) | @Test
method assertTriggerMisfiredWhenPreviousFireTimeIsNull (line 62) | @Test
method assertTriggerMisfiredWhenPreviousFireTimeIsNotNull (line 68) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/SchedulerFacadeTest.java
class SchedulerFacadeTest (line 35) | @ExtendWith(MockitoExtension.class)
method setUp (line 52) | @BeforeEach
method assertShutdownInstanceIfNotLeaderAndReconcileServiceIsNotRunning (line 60) | @Test
method assertShutdownInstanceIfLeaderAndReconcileServiceIsRunning (line 69) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/server/ServerNodeTest.java
class ServerNodeTest (line 30) | class ServerNodeTest {
method setUp (line 34) | @BeforeAll
method assertIsServerPath (line 39) | @Test
method assertIsNotServerPath (line 44) | @Test
method assertIsLocalServerPath (line 49) | @Test
method assertIsNotLocalServerPath (line 54) | @Test
method assertGetServerNode (line 59) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/server/ServerServiceTest.java
class ServerServiceTest (line 41) | @ExtendWith(MockitoExtension.class)
method setUp (line 55) | @BeforeEach
method assertPersistOnlineForInstanceShutdown (line 64) | @Test
method assertPersistOnlineForDisabledServer (line 71) | @Test
method assertPersistOnlineForEnabledServer (line 80) | @Test
method assertHasAvailableServers (line 89) | @Test
method assertHasNotAvailableServers (line 99) | @Test
method assertIsNotAvailableServerWhenDisabled (line 107) | @Test
method assertIsNotAvailableServerWithoutOnlineInstances (line 113) | @Test
method assertIsAvailableServer (line 120) | @Test
method assertIsNotEnableServer (line 127) | @Test
method assertIsEnableServer (line 133) | @Test
method assertServerNodeAbsent (line 139) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/DefaultJobClassNameProviderTest.java
class DefaultJobClassNameProviderTest (line 27) | class DefaultJobClassNameProviderTest {
method assertGetOrdinaryClassJobName (line 29) | @Test
method assertGetLambdaJobName (line 36) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/JobClassNameProviderFactoryTest.java
class JobClassNameProviderFactoryTest (line 25) | class JobClassNameProviderFactoryTest {
method assertGetDefaultStrategy (line 27) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/setup/SetUpFacadeTest.java
class SetUpFacadeTest (line 40) | @ExtendWith(MockitoExtension.class)
method setUp (line 63) | @BeforeEach
method assertRegisterStartUpInfo (line 74) | @Test
method assertTearDown (line 82) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionContextServiceTest.java
class ExecutionContextServiceTest (line 43) | @ExtendWith(MockitoExtension.class)
method setUp (line 54) | @BeforeEach
method assertGetShardingContextWhenNotAssignShardingItem (line 61) | @Test
method assertGetShardingContextWhenAssignShardingItems (line 70) | @Test
method assertGetShardingContextWhenHasRunningItems (line 81) | @Test
method assertShardingContext (line 93) | private void assertShardingContext(final ShardingContexts actual, fina...
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ExecutionServiceTest.java
class ExecutionServiceTest (line 48) | @ExtendWith(MockitoExtension.class)
method setUp (line 59) | @BeforeEach
method tearDown (line 65) | @AfterEach
method assertRegisterJobBeginWithoutMonitorExecution (line 70) | @Test
method assertRegisterJobBeginWithMonitorExecution (line 78) | @Test
method assertRegisterJobBeginWithFailoverEnabled (line 90) | @Test
method assertRegisterJobCompletedWithoutMonitorExecution (line 102) | @Test
method assertRegisterJobCompletedWithMonitorExecution (line 112) | @Test
method assertClearAllRunningInfo (line 123) | @Test
method assertClearRunningInfo (line 132) | @Test
method assertNotHaveRunningItemsWithoutMonitorExecution (line 139) | @Test
method assertHasRunningItemsWithMonitorExecution (line 145) | @Test
method assertNotHaveRunningItems (line 153) | @Test
method assertHasRunningItemsForAll (line 162) | @Test
method assertNotHaveRunningItemsForAll (line 170) | @Test
method assertGetAllRunningItems (line 179) | @Test
method assertMisfireIfNotRunning (line 191) | @Test
method assertMisfireIfRunning (line 200) | @Test
method assertSetMisfire (line 208) | @Test
method assertGetMisfiredJobItems (line 216) | @Test
method assertClearMisfire (line 224) | @Test
method assertGetDisabledItems (line 232) | @Test
method getShardingContext (line 240) | private ShardingContexts getShardingContext() {
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/JobInstanceTest.java
class JobInstanceTest (line 27) | class JobInstanceTest {
method assertGetJobInstanceId (line 29) | @Test
method assertGetIp (line 34) | @Test
method assertYamlConvert (line 39) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/MonitorExecutionListenerManagerTest.java
class MonitorExecutionListenerManagerTest (line 34) | @ExtendWith(MockitoExtension.class)
method setUp (line 45) | @BeforeEach
method assertMonitorExecutionSettingsChangedJobListenerWhenIsNotFailoverPath (line 51) | @Test
method assertMonitorExecutionSettingsChangedJobListenerWhenIsFailoverPathButNotUpdate (line 57) | @Test
method assertMonitorExecutionSettingsChangedJobListenerWhenIsFailoverPathAndUpdateButEnableFailover (line 63) | @Test
method assertMonitorExecutionSettingsChangedJobListenerWhenIsFailoverPathAndUpdateButDisableFailover (line 69) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingItemParametersTest.java
class ShardingItemParametersTest (line 31) | class ShardingItemParametersTest {
method assertNewWhenPairFormatInvalid (line 33) | @Test
method assertNewWhenItemIsNotNumber (line 38) | @Test
method assertGetMapWhenIsEmpty (line 43) | @Test
method assertGetMap (line 48) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingListenerManagerTest.java
class ShardingListenerManagerTest (line 43) | @ExtendWith(MockitoExtension.class)
method setUp (line 63) | @BeforeEach
method assertStart (line 72) | @Test
method assertShardingTotalCountChangedJobListenerWhenIsNotConfigPath (line 78) | @Test
method assertShardingTotalCountChangedJobListenerWhenIsConfigPathButCurrentShardingTotalCountIsZero (line 84) | @Test
method assertShardingTotalCountChangedJobListenerWhenIsConfigPathAndCurrentShardingTotalCountIsEqualToNewShardingTotalCount (line 90) | @Test
method assertShardingTotalCountChangedJobListenerWhenIsConfigPathAndCurrentShardingTotalCountIsNotEqualToNewShardingTotalCount (line 98) | @Test
method assertListenServersChangedJobListenerWhenIsNotServerStatusPath (line 106) | @Test
method assertListenServersChangedJobListenerWhenIsServerStatusPathButUpdate (line 112) | @Test
method assertListenServersChangedJobListenerWhenIsInstanceChangeButJobInstanceIsShutdown (line 118) | @Test
method assertListenServersChangedJobListenerWhenIsInstanceChange (line 124) | @Test
method assertListenServersChangedJobListenerWhenIsServerChange (line 134) | @Test
method assertListenServersChangedJobListenerWhenIsStaticSharding (line 144) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingNodeTest.java
class ShardingNodeTest (line 26) | class ShardingNodeTest {
method assertGetRunningNode (line 30) | @Test
method assertGetMisfireNode (line 35) | @Test
method assertGetItemWhenNotRunningItemPath (line 40) | @Test
method assertGetItemByRunningItemPath (line 45) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/ShardingServiceTest.java
class ShardingServiceTest (line 51) | @ExtendWith(MockitoExtension.class)
method setUp (line 80) | @BeforeEach
method assertSetReshardingFlagOnLeader (line 91) | @Test
method assertSetReshardingFlagOnNonLeader (line 98) | @Test
method assertIsNeedSharding (line 105) | @Test
method assertShardingWhenUnnecessary (line 111) | @Test
method assertShardingWithoutAvailableJobInstances (line 117) | @Test
method assertShardingWhenIsNotLeader (line 124) | @Test
method assertShardingNecessaryWhenMonitorExecutionEnabledAndIncreaseShardingTotalCount (line 134) | @Test
method assertShardingNecessaryWhenMonitorExecutionDisabledAndDecreaseShardingTotalCount (line 154) | @Test
method assertGetShardingItemsWithNotAvailableServer (line 174) | @Test
method assertGetShardingItemsWithAvailableServer (line 180) | @Test
method assertGetLocalShardingItemsWithInstanceShutdown (line 194) | @Test
method assertGetLocalShardingItemsWithDisabledServer (line 199) | @Test
method assertGetLocalShardingItemsWithEnabledServer (line 207) | @Test
method assertHasShardingInfoInOfflineServers (line 221) | @Test
method assertHasNotShardingInfoInOfflineServers (line 231) | @Test
method assertGetCrashedShardingItemsWithNotEnableServer (line 241) | @Test
method assertGetCrashedShardingItemsWithEnabledServer (line 246) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/AverageAllocationJobShardingStrategyTest.java
class AverageAllocationJobShardingStrategyTest (line 33) | class AverageAllocationJobShardingStrategyTest {
method shardingForZeroServer (line 37) | @Test
method shardingForOneServer (line 42) | @Test
method shardingForServersMoreThanShardingCount (line 49) | @Test
method shardingForServersLessThanShardingCountAliquot (line 58) | @Test
method shardingForServersLessThanShardingCountAliquantFor8ShardingCountAnd3Servers (line 67) | @Test
method shardingForServersLessThanShardingCountAliquantFor10ShardingCountAnd3Servers (line 76) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/OdevitySortByNameJobShardingStrategyTest.java
class OdevitySortByNameJobShardingStrategyTest (line 32) | class OdevitySortByNameJobShardingStrategyTest {
method assertShardingByAsc (line 36) | @Test
method assertShardingByDesc (line 45) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/RotateServerByNameJobShardingStrategyTest.java
class RotateServerByNameJobShardingStrategyTest (line 32) | class RotateServerByNameJobShardingStrategyTest {
method assertSharding1 (line 36) | @Test
method assertSharding2 (line 45) | @Test
method assertSharding3 (line 54) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/sharding/strategy/type/SingleShardingBalanceJobShardingStrategyTest.java
class SingleShardingBalanceJobShardingStrategyTest (line 30) | class SingleShardingBalanceJobShardingStrategyTest {
method assertSharding (line 34) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/storage/JobNodePathTest.java
class JobNodePathTest (line 25) | class JobNodePathTest {
method assertGetFullPath (line 29) | @Test
method assertGetServerNodePath (line 34) | @Test
method assertGetServerNodePathForServerIp (line 39) | @Test
method assertGetShardingNodePath (line 44) | @Test
method assertGetShardingNodePathWihItemAndNode (line 49) | @Test
method assertGetLeaderIpNodePath (line 54) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/storage/JobNodeStorageTest.java
class JobNodeStorageTest (line 49) | @ExtendWith(MockitoExtension.class)
method setUp (line 57) | @BeforeEach
method assertIsJobNodeExisted (line 63) | @Test
method assertGetJobNodeData (line 70) | @Test
method assertGetJobNodeDataDirectly (line 77) | @Test
method assertGetJobNodeChildrenKeys (line 84) | @Test
method assertCreateJobNodeIfNeeded (line 91) | @Test
method assertCreateJobNodeIfRootJobNodeIsNotExist (line 101) | @Test
method assertCreateJobNodeIfNotNeeded (line 110) | @Test
method assertRemoveJobNodeIfNeeded (line 120) | @Test
method assertRemoveJobNodeIfNotNeeded (line 128) | @Test
method assertFillJobNode (line 136) | @Test
method assertFillEphemeralJobNode (line 142) | @Test
method assertUpdateJobNode (line 148) | @Test
method assertReplaceJobNode (line 154) | @Test
method assertExecuteInTransactionSuccess (line 160) | @Test
method assertExecuteInTransactionFailure (line 166) | @Test
method assertAddConnectionStateListener (line 174) | @Test
method assertAddDataListener (line 181) | @Test
method assertGetRegistryCenterTime (line 191) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/trigger/TriggerListenerManagerTest.java
class TriggerListenerManagerTest (line 37) | @ExtendWith(MockitoExtension.class)
method setUp (line 54) | @BeforeEach
method assertStart (line 62) | @Test
method assertNotTriggerWhenIsNotLocalInstancePath (line 68) | @Test
method assertNotTriggerWhenIsNotCreate (line 74) | @Test
method assertTriggerWhenJobScheduleControllerIsNull (line 80) | @Test
method assertTriggerWhenJobIsRunning (line 87) | @Test
method assertTriggerWhenJobIsNotRunning (line 99) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/listener/DistributeOnceElasticJobListenerTest.java
class DistributeOnceElasticJobListenerTest (line 43) | @ExtendWith(MockitoExtension.class)
method setUp (line 59) | @BeforeEach
method assertBeforeJobExecutedWhenIsAllStarted (line 70) | @Test
method assertBeforeJobExecutedWhenIsNotAllStartedAndNotTimeout (line 79) | @Test
method assertBeforeJobExecutedWhenIsNotAllStartedAndTimeout (line 89) | @Test
method assertAfterJobExecutedWhenIsAllCompleted (line 101) | @Test
method assertAfterJobExecutedWhenIsAllCompletedAndNotTimeout (line 110) | @Test
method assertAfterJobExecutedWhenIsAllCompletedAndTimeout (line 120) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/listener/fixture/ElasticJobListenerCaller.java
type ElasticJobListenerCaller (line 20) | public interface ElasticJobListenerCaller {
method before (line 25) | void before();
method after (line 30) | void after();
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/listener/fixture/TestDistributeOnceElasticJobListener.java
class TestDistributeOnceElasticJobListener (line 23) | public final class TestDistributeOnceElasticJobListener extends Abstract...
method TestDistributeOnceElasticJobListener (line 27) | public TestDistributeOnceElasticJobListener() {
method TestDistributeOnceElasticJobListener (line 31) | public TestDistributeOnceElasticJobListener(final ElasticJobListenerCa...
method doBeforeJobExecutedAtLastStarted (line 36) | @Override
method doAfterJobExecutedAtLastCompleted (line 41) | @Override
method getType (line 46) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/listener/fixture/TestElasticJobListener.java
class TestElasticJobListener (line 24) | @RequiredArgsConstructor
method TestElasticJobListener (line 35) | public TestElasticJobListener() {
method beforeJobExecuted (line 39) | @Override
method afterJobExecuted (line 45) | @Override
method getType (line 51) | @Override
method order (line 56) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEventTest.java
class JobExecutionEventTest (line 30) | class JobExecutionEventTest {
method assertNewJobExecutionEvent (line 32) | @Test
method assertExecutionSuccess (line 45) | @Test
method assertExecutionFailure (line 53) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBusTest.java
class JobTracingEventBusTest (line 41) | @ExtendWith(MockitoExtension.class)
method assertRegisterWithoutTracingStorageConfiguration (line 52) | @Test
method assertPost (line 58) | @Test
method assertPostWithoutListener (line 67) | @Test
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageConfigurationFixture.java
class TracingStorageConfigurationFixture (line 24) | @RequiredArgsConstructor
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixture.java
type TracingStorageFixture (line 20) | public interface TracingStorageFixture {
method call (line 25) | void call();
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConfigurationConverter.java
class TracingStorageFixtureConfigurationConverter (line 23) | public final class TracingStorageFixtureConfigurationConverter implement...
method toConfiguration (line 25) | @Override
method storageType (line 30) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixture.java
class TracingListenerFixture (line 27) | @RequiredArgsConstructor
method listen (line 35) | @Override
method listen (line 41) | @Override
method reset (line 49) | public static void reset() {
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixtureFactory.java
class TracingListenerFixtureFactory (line 24) | public final class TracingListenerFixtureFactory implements TracingListe...
method create (line 26) | @Override
method getType (line 31) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConfigurationConverterFactoryTest.java
class TracingStorageConfigurationConverterFactoryTest (line 26) | class TracingStorageConfigurationConverterFactoryTest {
method assertConverterExists (line 28) | @Test
method assertConverterNotFound (line 33) | @Test
class AClassWithoutCorrespondingConverter (line 38) | private static class AClassWithoutCorrespondingConverter {
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfiguration.java
class YamlJobEventCallerConfiguration (line 29) | @Getter
method toConfiguration (line 37) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfigurationConverter.java
class YamlJobEventCallerConfigurationConverter (line 28) | @SuppressWarnings({"unchecked", "rawtypes"})
method convertToYamlConfiguration (line 33) | @Override
method getType (line 40) | @Override
FILE: kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfigurationConverterTest.java
class YamlTracingConfigurationConverterTest (line 29) | class YamlTracingConfigurationConverterTest {
method assertConvertTracingConfiguration (line 31) | @Test
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/JobAPIFactory.java
class JobAPIFactory (line 33) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method createJobConfigurationAPI (line 44) | public static JobConfigurationAPI createJobConfigurationAPI(final Stri...
method createJobOperateAPI (line 56) | public static JobOperateAPI createJobOperateAPI(final String connectSt...
method createShardingOperateAPI (line 68) | public static ShardingOperateAPI createShardingOperateAPI(final String...
method createJobStatisticsAPI (line 80) | public static JobStatisticsAPI createJobStatisticsAPI(final String con...
method createServerStatisticsAPI (line 92) | public static ServerStatisticsAPI createServerStatisticsAPI(final Stri...
method createShardingStatisticsAPI (line 104) | public static ShardingStatisticsAPI createShardingStatisticsAPI(final ...
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/JobConfigurationAPI.java
type JobConfigurationAPI (line 25) | public interface JobConfigurationAPI {
method getJobConfiguration (line 33) | JobConfigurationPOJO getJobConfiguration(String jobName);
method updateJobConfiguration (line 40) | void updateJobConfiguration(JobConfigurationPOJO jobConfig);
method removeJobConfiguration (line 47) | void removeJobConfiguration(String jobName);
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/JobOperateAPI.java
type JobOperateAPI (line 25) | public interface JobOperateAPI {
method trigger (line 34) | void trigger(String jobName);
method disable (line 44) | void disable(String jobName, String serverIp);
method enable (line 52) | void enable(String jobName, String serverIp);
method shutdown (line 60) | void shutdown(String jobName, String serverIp);
method remove (line 68) | void remove(String jobName, String serverIp);
method dump (line 79) | String dump(String jobName, String instanceIp, int dumpPort) throws IO...
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/JobStatisticsAPI.java
type JobStatisticsAPI (line 27) | public interface JobStatisticsAPI {
method getJobsTotalCount (line 34) | int getJobsTotalCount();
method getAllJobsBriefInfo (line 41) | Collection<JobBriefInfo> getAllJobsBriefInfo();
method getJobBriefInfo (line 49) | JobBriefInfo getJobBriefInfo(String jobName);
method getJobsBriefInfo (line 57) | Collection<JobBriefInfo> getJobsBriefInfo(String ip);
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/ServerStatisticsAPI.java
type ServerStatisticsAPI (line 27) | public interface ServerStatisticsAPI {
method getServersTotalCount (line 34) | int getServersTotalCount();
method getAllServersBriefInfo (line 41) | Collection<ServerBriefInfo> getAllServersBriefInfo();
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/ShardingOperateAPI.java
type ShardingOperateAPI (line 23) | public interface ShardingOperateAPI {
method disable (line 31) | void disable(String jobName, String item);
method enable (line 39) | void enable(String jobName, String item);
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/api/ShardingStatisticsAPI.java
type ShardingStatisticsAPI (line 27) | public interface ShardingStatisticsAPI {
method getShardingInfo (line 35) | Collection<ShardingInfo> getShardingInfo(String jobName);
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/domain/JobBriefInfo.java
class JobBriefInfo (line 28) | @Getter
method compareTo (line 46) | @Override
type JobStatus (line 54) | public enum JobStatus {
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/domain/ServerBriefInfo.java
class ServerBriefInfo (line 32) | @RequiredArgsConstructor
method compareTo (line 51) | @Override
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/domain/ShardingInfo.java
class ShardingInfo (line 28) | @Getter
method compareTo (line 44) | @Override
type ShardingStatus (line 52) | public enum ShardingStatus {
method getShardingStatus (line 67) | public static ShardingStatus getShardingStatus(final boolean isDisab...
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/operate/JobOperateAPIImpl.java
class JobOperateAPIImpl (line 36) | public final class JobOperateAPIImpl implements JobOperateAPI {
method JobOperateAPIImpl (line 40) | public JobOperateAPIImpl(final CoordinatorRegistryCenter regCenter) {
method trigger (line 44) | @Override
method disable (line 50) | @Override
method enable (line 55) | @Override
method disableOrEnableJobs (line 60) | private void disableOrEnableJobs(final String jobName, final String se...
method persistDisabledOrEnabledJob (line 83) | private void persistDisabledOrEnabledJob(final String jobName, final S...
method shutdown (line 93) | @Override
method remove (line 124) | @Override
method dump (line 143) | @Override
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/operate/ShardingOperateAPIImpl.java
class ShardingOperateAPIImpl (line 27) | public final class ShardingOperateAPIImpl implements ShardingOperateAPI {
method ShardingOperateAPIImpl (line 31) | public ShardingOperateAPIImpl(final CoordinatorRegistryCenter regCente...
method disable (line 35) | @Override
method enable (line 40) | @Override
method disableOrEnableJobs (line 45) | private void disableOrEnableJobs(final String jobName, final String it...
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/reg/RegistryCenterFactory.java
class RegistryCenterFactory (line 37) | @SuppressWarnings("UnstableApiUsage")
method createCoordinatorRegistryCenter (line 51) | public static CoordinatorRegistryCenter createCoordinatorRegistryCente...
method newCoordinatorRegistryCenter (line 64) | private static CoordinatorRegistryCenter newCoordinatorRegistryCenter(...
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/settings/JobConfigurationAPIImpl.java
class JobConfigurationAPIImpl (line 32) | @RequiredArgsConstructor
method getJobConfiguration (line 37) | @Override
method updateJobConfiguration (line 46) | @Override
method removeJobConfiguration (line 54) | @Override
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/statistics/JobStatisticsAPIImpl.java
class JobStatisticsAPIImpl (line 40) | @RequiredArgsConstructor
method getJobsTotalCount (line 45) | @Override
method getAllJobsBriefInfo (line 50) | @Override
method getJobBriefInfo (line 64) | @Override
method getJobStatus (line 82) | private JobBriefInfo.JobStatus getJobStatus(final String jobName) {
method isAllDisabled (line 97) | private boolean isAllDisabled(final JobNodePath jobNodePath) {
method isHasShardingFlag (line 108) | private boolean isHasShardingFlag(final JobNodePath jobNodePath, final...
method getJobInstanceCount (line 119) | private int getJobInstanceCount(final String jobName) {
method getJobsBriefInfo (line 123) | @Override
method getJobBriefInfoByJobNameAndIp (line 137) | private JobBriefInfo getJobBriefInfoByJobNameAndIp(final String jobNam...
method getJobStatusByJobNameAndIp (line 148) | private JobBriefInfo.JobStatus getJobStatusByJobNameAndIp(final String...
method getJobInstanceCountByJobNameAndIP (line 158) | private int getJobInstanceCountByJobNameAndIP(final String jobName, fi...
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/statistics/ServerStatisticsAPIImpl.java
class ServerStatisticsAPIImpl (line 39) | @RequiredArgsConstructor
method getServersTotalCount (line 44) | @Override
method getAllServersBriefInfo (line 54) | @Override
FILE: lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/statistics/ShardingStatisticsAPIImpl.java
class ShardingStatisticsAPIImpl (line 36) | @RequiredArgsConstructor
method getShardingInfo (line 41) | @Override
method getShardingInfo (line 53) | private ShardingInfo getShardingInfo(final String jobName, final Strin...
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/api/JobAPIFactoryTest.java
class JobAPIFactoryTest (line 27) | class JobAPIFactoryTest {
method setUp (line 31) | @BeforeAll
method assertCreateJobConfigAPI (line 36) | @Test
method assertCreateJobOperateAPI (line 41) | @Test
method assertCreateServerOperateAPI (line 46) | @Test
method assertCreateJobStatisticsAPI (line 51) | @Test
method assertCreateServerStatisticsAPI (line 56) | @Test
method assertCreateShardingStatisticsAPI (line 61) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/domain/ShardingStatusTest.java
class ShardingStatusTest (line 25) | class ShardingStatusTest {
method assertGetShardingStatusWhenIsDisabled (line 27) | @Test
method assertGetShardingStatusWhenIsRunning (line 32) | @Test
method assertGetShardingStatusWhenIsPending (line 37) | @Test
method assertGetShardingStatusWhenIsShardingError (line 42) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/fixture/LifecycleYamlConstants.java
class LifecycleYamlConstants (line 23) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method getSimpleJobYaml (line 77) | public static String getSimpleJobYaml(final String jobName, final Stri...
method getDataflowJobYaml (line 86) | public static String getDataflowJobYaml() {
method getScriptJobYaml (line 95) | public static String getScriptJobYaml() {
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/operate/JobOperateAPIImplTest.java
class JobOperateAPIImplTest (line 36) | @ExtendWith(MockitoExtension.class)
method setUp (line 45) | @BeforeEach
method assertTriggerWithJobName (line 50) | @Test
method assertDisableWithJobNameAndServerIp (line 62) | @Test
method assertDisableWithJobName (line 68) | @Test
method assertDisableWithServerIp (line 77) | @Test
method assertEnableWithJobNameAndServerIp (line 88) | @Test
method assertEnableWithJobName (line 94) | @Test
method assertEnableWithServerIp (line 103) | @Test
method assertShutdownWithJobNameAndServerIp (line 114) | @Test
method assertShutdownWithJobName (line 122) | @Test
method assertShutdownWithServerIp (line 130) | @Test
method assertRemoveWithJobNameAndServerIp (line 143) | @Test
method assertRemoveWithJobName (line 150) | @Test
method assertRemoveWithServerIp (line 163) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/operate/ShardingOperateAPIImplTest.java
class ShardingOperateAPIImplTest (line 30) | @ExtendWith(MockitoExtension.class)
method setUp (line 38) | @BeforeEach
method assertDisableSharding (line 43) | @Test
method assertEnableSharding (line 49) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/reg/RegistryCenterFactoryTest.java
class RegistryCenterFactoryTest (line 33) | class RegistryCenterFactoryTest {
method setUp (line 37) | @BeforeAll
method assertCreateCoordinatorRegistryCenterWithoutDigest (line 42) | @Test
method assertCreateCoordinatorRegistryCenterWithDigest (line 49) | @Test
method assertCreateCoordinatorRegistryCenterFromCache (line 56) | @Test
method getZookeeperConfiguration (line 64) | private ZookeeperConfiguration getZookeeperConfiguration(final Coordin...
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/settings/JobConfigurationAPIImplTest.java
class JobConfigurationAPIImplTest (line 41) | @ExtendWith(MockitoExtension.class)
method setUp (line 49) | @BeforeEach
method assertGetJobConfigNull (line 54) | @Test
method assertGetDataflowJobConfig (line 62) | @Test
method assertGetScriptJobConfig (line 71) | @Test
method assertJobConfig (line 80) | private void assertJobConfig(final JobConfigurationPOJO pojo) {
method assertUpdateJobConfig (line 95) | @Test
method assertUpdateJobConfigIfJobNameIsEmpty (line 113) | @Test
method assertUpdateJobConfigIfCronIsEmpty (line 122) | @Test
method assertUpdateJobConfigIfShardingTotalCountLessThanOne (line 132) | @Test
method assertRemoveJobConfiguration (line 143) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/statistics/JobStatisticsAPIImplTest.java
class JobStatisticsAPIImplTest (line 37) | @ExtendWith(MockitoExtension.class)
method setUp (line 46) | @BeforeEach
method assertGetJobsTotalCount (line 51) | @Test
method assertGetOKJobBriefInfo (line 57) | @Test
method assertGetOKJobBriefInfoWithPartialDisabledServer (line 76) | @Test
method assertGetDisabledJobBriefInfo (line 89) | @Test
method assertGetShardingErrorJobBriefInfo (line 100) | @Test
method assertGetCrashedJobBriefInfo (line 113) | @Test
method assertGetAllJobsBriefInfoWithoutNamespace (line 120) | @Test
method assertGetAllJobsBriefInfo (line 126) | @Test
method assertGetJobsBriefInfoByIp (line 153) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/statistics/ServerStatisticsAPIImplTest.java
class ServerStatisticsAPIImplTest (line 37) | @ExtendWith(MockitoExtension.class)
method setUp (line 45) | @BeforeEach
method assertGetJobsTotalCount (line 50) | @Test
method assertGetAllServersBriefInfo (line 58) | @Test
FILE: lifecycle/src/test/java/org/apache/shardingsphere/elasticjob/lifecycle/internal/statistics/ShardingStatisticsAPIImplTest.java
class ShardingStatisticsAPIImplTest (line 36) | @ExtendWith(MockitoExtension.class)
method setUp (line 45) | @BeforeEach
method assertGetShardingInfo (line 50) | @Test
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/base/CoordinatorRegistryCenter.java
type CoordinatorRegistryCenter (line 30) | public interface CoordinatorRegistryCenter extends RegistryCenter {
method getDirectly (line 38) | String getDirectly(String key);
method getChildrenKeys (line 46) | List<String> getChildrenKeys(String key);
method getNumChildren (line 54) | int getNumChildren(String key);
method persistEphemeral (line 62) | void persistEphemeral(String key, String value);
method persistSequential (line 71) | String persistSequential(String key, String value);
method persistEphemeralSequential (line 78) | void persistEphemeralSequential(String key);
method addCacheData (line 85) | void addCacheData(String cachePath);
method evictCacheData (line 92) | void evictCacheData(String cachePath);
method getRawCache (line 100) | Object getRawCache(String cachePath);
method executeInLeader (line 108) | void executeInLeader(String key, LeaderExecutionCallback callback);
method watch (line 117) | void watch(String key, DataChangedEventListener listener, Executor exe...
method addConnectionStateChangedEventListener (line 125) | void addConnectionStateChangedEventListener(String key, ConnectionStat...
method executeInTransaction (line 133) | void executeInTransaction(List<TransactionOperation> transactionOperat...
method removeDataListeners (line 139) | void removeDataListeners(String key);
method removeConnStateListener (line 145) | void removeConnStateListener(String key);
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/base/ElectionCandidate.java
type ElectionCandidate (line 27) | public interface ElectionCandidate {
method startLeadership (line 34) | void startLeadership() throws Exception;
method stopLeadership (line 41) | void stopLeadership();
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/base/LeaderExecutionCallback.java
type LeaderExecutionCallback (line 23) | public interface LeaderExecutionCallback {
method execute (line 28) | void execute();
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/base/RegistryCenter.java
type RegistryCenter (line 23) | public interface RegistryCenter {
method init (line 28) | void init();
method close (line 33) | void close();
method get (line 41) | String get(String key);
method isExisted (line 49) | boolean isExisted(String key);
method persist (line 57) | void persist(String key, String value);
method update (line 65) | void update(String key, String value);
method remove (line 72) | void remove(String key);
method getRegistryCenterTime (line 80) | long getRegistryCenterTime(String key);
method getRawClient (line 87) | Object getRawClient();
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/base/transaction/TransactionOperation.java
class TransactionOperation (line 25) | @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
type Type (line 30) | public enum Type {
method opAdd (line 54) | public static TransactionOperation opAdd(final String key, final Strin...
method opUpdate (line 65) | public static TransactionOperation opUpdate(final String key, final St...
method opDelete (line 75) | public static TransactionOperation opDelete(final String key) {
method opCheckExists (line 85) | public static TransactionOperation opCheckExists(final String key) {
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/exception/IgnoredExceptionProvider.java
type IgnoredExceptionProvider (line 27) | @SingletonSPI
method getIgnoredExceptions (line 35) | Collection<Class<? extends Throwable>> getIgnoredExceptions();
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/exception/RegException.java
class RegException (line 23) | public final class RegException extends RuntimeException {
method RegException (line 27) | public RegException(final Exception cause) {
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/exception/RegExceptionHandler.java
class RegExceptionHandler (line 28) | @NoArgsConstructor(access = AccessLevel.PRIVATE)
method handleException (line 37) | public static void handleException(final Exception cause) {
method isIgnoredException (line 50) | private static boolean isIgnoredException(final Throwable cause) {
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/listener/ConnectionStateChangedEventListener.java
type ConnectionStateChangedEventListener (line 25) | public interface ConnectionStateChangedEventListener {
type State (line 27) | enum State {
method onStateChanged (line 42) | void onStateChanged(CoordinatorRegistryCenter registryCenter, State ne...
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/listener/DataChangedEvent.java
class DataChangedEvent (line 26) | @RequiredArgsConstructor
type Type (line 39) | public enum Type {
FILE: registry-center/api/src/main/java/org/apache/shardingsphere/elasticjob/reg/listener/DataChangedEventListener.java
type DataChangedEventListener (line 23) | public interface DataChangedEventListener {
method onChange (line 30) | void onChange(DataChangedEvent event);
FILE: registry-center/api/src/test/java/org/apache/shardingsphere/elasticjob/reg/base/transaction/TransactionOperationTest.java
class TransactionOperationTest (line 26) | class TransactionOperationTest {
method assertOpAdd (line 28) | @Test
method assertOpUpdate (line 36) | @Test
method assertOpDelete (line 44) | @Test
method assertOpCheckExists (line 51) | @Test
FILE: registry-center/api/src/test/java/org/apache/shardingsphere/elasticjob/reg/exception/RegExceptionHandlerTest.java
class RegExceptionHandlerTest (line 25) | class RegExceptionHandlerTest {
method assertHandleExceptionWithInterruptedException (line 27) | @Test
method assertHandleExceptionWithNull (line 34) | @Test
method assertHandleExceptionWithOtherException (line 39) | @Test
FILE: registry-center/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperConfiguration.java
class ZookeeperConfiguration (line 27) | @Getter
FILE: registry-center/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperElectionService.java
class ZookeeperElectionService (line 32) | @Slf4j
method ZookeeperElectionService (line 39) | public ZookeeperElectionService(final String identity, final CuratorFr...
method start (line 63) | public void start() {
method stop (line 71) | public void stop() {
FILE: registry-center/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenter.java
class ZookeeperRegistryCenter (line 70) | @Slf4j
method ZookeeperRegistryCenter (line 91) | public ZookeeperRegistryCenter(final ZookeeperConfiguration zkConfig) {
method init (line 95) | @Override
method close (line 138) | @Override
method waitForCacheClose (line 150) | private void waitForCacheClose() {
method get (line 158) | @Override
method findCuratorCache (line 168) | private CuratorCache findCuratorCache(final String key) {
method getDirectly (line 177) | @Override
method getChildrenKeys (line 189) | @Override
method getNumChildren (line 203) | @Override
method isExisted (line 218) | @Override
method persist (line 230) | @Override
method update (line 245) | @Override
method persistEphemeral (line 257) | @Override
method persistSequential (line 271) | @Override
method persistEphemeralSequential (line 283) | @Override
method remove (line 294) | @Override
method getRegistryCenterTime (line 305) | @Override
method getRawClient (line 320) | @Override
method addConnectionStateChangedEventListener (line 325) | @Override
method executeInTransaction (line 352) | @Override
method toCuratorOps (line 357) | private List<CuratorOp> toCuratorOps(final List<TransactionOperation> ...
method toCuratorOp (line 366) | private CuratorOp toCuratorOp(final TransactionOperation each, final T...
method addCacheData (line 387) | @Override
method evictCacheData (line 400) | @Override
method getRawCache (line 408) | @Override
method executeInLeader (line 413) | @Override
method watch (line 426) | @Override
method removeDataListeners (line 449) | @Override
method removeConnStateListener (line 463) | @Override
method getTypeFromCuratorType (line 472) | private Type getTypeFromCuratorType(final CuratorCacheListener.Type cu...
method handleException (line 485) | private void handleException(final Exception ex) {
FILE: registry-center/provider/zookeeper-curator/src/main/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/exception/ZookeeperCuratorIgnoredExceptionProvider.java
class ZookeeperCuratorIgnoredExceptionProvider (line 31) | public final class ZookeeperCuratorIgnoredExceptionProvider implements I...
method getIgnoredExceptions (line 33) | @Override
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperConfigurationTest.java
class ZookeeperConfigurationTest (line 26) | class ZookeeperConfigurationTest {
method assertNewZookeeperConfigurationForServerListsAndNamespace (line 28) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperElectionServiceTest.java
class ZookeeperElectionServiceTest (line 44) | @ExtendWith(MockitoExtension.class)
method init (line 58) | @BeforeAll
method assertContend (line 63) | @Test
method blockUntilCondition (line 86) | private void blockUntilCondition(final Supplier<Boolean> condition) {
method hasLeadership (line 90) | private boolean hasLeadership(final ZookeeperElectionService zookeeper...
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterExecuteInLeaderTest.java
class ZookeeperRegistryCenterExecuteInLeaderTest (line 34) | class ZookeeperRegistryCenterExecuteInLeaderTest {
method setUp (line 40) | @BeforeAll
method tearDown (line 49) | @AfterAll
method assertExecuteInLeader (line 54) | @Test
class SerialOnlyExecutionCallback (line 68) | @RequiredArgsConstructor
method execute (line 77) | @Override
method handleConcurrentExecution (line 93) | private void handleConcurrentExecution() {
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterForAuthTest.java
class ZookeeperRegistryCenterForAuthTest (line 34) | class ZookeeperRegistryCenterForAuthTest {
method setUp (line 42) | @BeforeAll
method tearDown (line 54) | @AfterAll
method assertInitWithDigestSuccess (line 59) | @Test
method assertInitWithDigestFailure (line 72) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterInitFailureTest.java
class ZookeeperRegistryCenterInitFailureTest (line 26) | class ZookeeperRegistryCenterInitFailureTest {
method assertInitFailure (line 28) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterListenerTest.java
class ZookeeperRegistryCenterListenerTest (line 44) | @ExtendWith(MockitoExtension.class)
method setUp (line 66) | @BeforeEach
method testAddConnectionStateChangedEventListener (line 73) | @Test
method testWatch (line 81) | @Test
method testRemoveDataListenersNonCache (line 90) | @Test
method testRemoveDataListenersHasCache (line 98) | @Test
method testRemoveDataListenersHasCacheEmptyListeners (line 111) | @Test
method testRemoveConnStateListener (line 120) | @Test
method testRemoveConnStateListenerEmptyListeners (line 133) | @Test
method getConnStateListeners (line 141) | @SuppressWarnings("unchecked")
method getDataListeners (line 146) | @SuppressWarnings("unchecked")
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterMiscellaneousTest.java
class ZookeeperRegistryCenterMiscellaneousTest (line 31) | class ZookeeperRegistryCenterMiscellaneousTest {
method setUp (line 39) | @BeforeAll
method tearDown (line 49) | @AfterAll
method assertGetRawClient (line 54) | @Test
method assertGetRawCache (line 60) | @Test
method assertGetZkConfig (line 65) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterModifyTest.java
class ZookeeperRegistryCenterModifyTest (line 38) | class ZookeeperRegistryCenterModifyTest {
method setUp (line 44) | @BeforeAll
method tearDown (line 54) | @AfterAll
method assertPersist (line 59) | @Test
method assertUpdate (line 67) | @Test
method assertPersistEphemeral (line 74) | @Test
method assertPersistSequential (line 89) | @Test
method assertPersistEphemeralSequential (line 107) | @Test
method assertRemove (line 126) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterQueryWithCacheTest.java
class ZookeeperRegistryCenterQueryWithCacheTest (line 30) | class ZookeeperRegistryCenterQueryWithCacheTest {
method setUp (line 36) | @BeforeAll
method tearDown (line 47) | @AfterAll
method assertGetWithoutValue (line 52) | @Test
method assertGetFromCache (line 57) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterQueryWithoutCacheTest.java
class ZookeeperRegistryCenterQueryWithoutCacheTest (line 35) | class ZookeeperRegistryCenterQueryWithoutCacheTest {
method setUp (line 41) | @BeforeAll
method tearDown (line 52) | @AfterAll
method assertGetFromServer (line 57) | @Test
method assertGetChildrenKeys (line 63) | @Test
method assertGetNumChildren (line 71) | @Test
method assertIsExisted (line 79) | @Test
method assertGetRegistryCenterTime (line 86) | @Test
method assertGetWithoutNode (line 94) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterTransactionTest.java
class ZookeeperRegistryCenterTransactionTest (line 35) | class ZookeeperRegistryCenterTransactionTest {
method setUp (line 41) | @BeforeAll
method setup (line 50) | @BeforeEach
method assertExecuteInTransactionSucceeded (line 55) | @Test
method assertExecuteInTransactionFailed (line 66) | @Test
FILE: registry-center/provider/zookeeper-curator/src/test/java/org/apache/shardingsphere/elasticjob/reg/zookeeper/ZookeeperRegistryCenterWatchTest.java
class ZookeeperRegistryCenterW
Condensed preview — 995 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,062K chars).
[
{
"path": ".asf.yaml",
"chars": 1373,
"preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE"
},
{
"path": ".github/ISSUE_TEMPLATE/bug-report.md",
"chars": 885,
"preview": "---\nname: \"\\U0001F41B Bug Report\"\nabout: Something isn't working as expected\n---\n\n## Bug Report\n\n**For English only**, o"
},
{
"path": ".github/ISSUE_TEMPLATE/feature-request.md",
"chars": 489,
"preview": "---\nname: \"\\U0001F680 Feature Request\"\nabout: I have a suggestion\n---\n\n## Feature Request\n\n**For English only**, other l"
},
{
"path": ".github/ISSUE_TEMPLATE/question.md",
"chars": 633,
"preview": "---\nname: \"\\U0001F914 Question\"\nabout: Usage question that isn't answered in docs or discussion\n---\n\n## Question\n\n**For "
},
{
"path": ".github/PULL_REQUEST_TEMPLATE",
"chars": 64,
"preview": "Fixes #ISSUSE_ID.\n\nChanges proposed in this pull request:\n-\n-\n-\n"
},
{
"path": ".github/workflows/graalvm.yml",
"chars": 1678,
"preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE"
},
{
"path": ".github/workflows/maven.yml",
"chars": 2401,
"preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE"
},
{
"path": ".github/workflows/required-check.yml",
"chars": 1832,
"preview": "#\n# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE"
},
{
"path": ".gitignore",
"chars": 615,
"preview": "# maven ignore\r\ntarget/\r\n*.class\r\n*.jar\r\n*.war\r\n*.zip\r\n*.tar\r\n*.tar.gz\r\ndependency-reduced-pom.xml\r\n.flattened-pom.xml\r\n"
},
{
"path": ".idea/vcs.xml",
"chars": 523,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n <component name=\"IssueNavigationConfiguration\">\n <opti"
},
{
"path": ".mvn/jvm.config",
"chars": 36,
"preview": "-Xmx1024m -XX:MaxMetaspaceSize=256m\n"
},
{
"path": ".mvn/wrapper/maven-wrapper.properties",
"chars": 168,
"preview": "wrapperVersion=3.3.4\ndistributionType=only-script\ndistributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/"
},
{
"path": "LICENSE",
"chars": 12128,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "NOTICE",
"chars": 175,
"preview": "Apache ShardingSphere\nCopyright 2018-2026 The Apache Software Foundation\n\nThis product includes software developed at\nTh"
},
{
"path": "README.md",
"chars": 3845,
"preview": "# [ElasticJob - Distributed scheduled job](http://shardingsphere.apache.org/elasticjob/)\n\n**Official website: https://sh"
},
{
"path": "README_ZH.md",
"chars": 2552,
"preview": "# [ElasticJob - 分布式作业调度解决方案](http://shardingsphere.apache.org/elasticjob/)\n\n**官方网站: https://shardingsphere.apache.org/el"
},
{
"path": "RELEASE-NOTES.md",
"chars": 28949,
"preview": "## 3.0.5\n\n### CVE\n\n1. Fix CVE-2025-25193, CVE-2024-47535 [#2498](https://github.com/apache/shardingsphere-elasticjob/pul"
},
{
"path": "api/pom.xml",
"chars": 1583,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ c"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobConfiguration.java",
"chars": 4371,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobProp.java",
"chars": 1311,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/api/ElasticJob.java",
"chars": 919,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobConfiguration.java",
"chars": 13929,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobExtraConfiguration.java",
"chars": 933,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/api/JobExtraConfigurationFactory.java",
"chars": 1144,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/ExecutionType.java",
"chars": 1038,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandler.java",
"chars": 1335,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandlerPropertiesValidator.java",
"chars": 1310,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/JobItemExecutor.java",
"chars": 1655,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/JobRuntimeService.java",
"chars": 1086,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/ShardingContext.java",
"chars": 1329,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/ClassedJobItemExecutor.java",
"chars": 1390,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/TypedJobItemExecutor.java",
"chars": 1283,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/ElasticJobListener.java",
"chars": 1631,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java",
"chars": 2625,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobEvent.java",
"chars": 1019,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobExecutionEvent.java",
"chars": 2735,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobStatusTraceEvent.java",
"chars": 1923,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/exception/TracingConfigurationException.java",
"chars": 1266,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListener.java",
"chars": 1638,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListenerFactory.java",
"chars": 1575,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfiguration.java",
"chars": 1088,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfigurationConverter.java",
"chars": 1461,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfiguration.java",
"chars": 1146,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfigurationConverter.java",
"chars": 1468,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/ElasticJobConfigurationTest.java",
"chars": 2441,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/SimpleTracingConfigurationFactory.java",
"chars": 1265,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java",
"chars": 1214,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java",
"chars": 1908,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/test/java/org/apache/shardingsphere/elasticjob/api/JobConfigurationTest.java",
"chars": 4594,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java",
"chars": 2122,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "bootstrap/pom.xml",
"chars": 3685,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ c"
},
{
"path": "bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/JobBootstrap.java",
"chars": 983,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/type/OneOffJobBootstrap.java",
"chars": 3102,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "bootstrap/src/main/java/org/apache/shardingsphere/elasticjob/bootstrap/type/ScheduleJobBootstrap.java",
"chars": 2741,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "bootstrap/src/test/java/org/apache/shardingsphere/elasticjob/bootstrap/type/OneOffJobBootstrapTest.java",
"chars": 4607,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "bootstrap/src/test/java/org/apache/shardingsphere/elasticjob/bootstrap/type/ScheduleJobBootstrapTest.java",
"chars": 4886,
"preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOT"
},
{
"path": "bootstrap/src/test/resources/logback-test.xml",
"chars": 1836,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ c"
},
{
"path": "distribution/bin/pom.xml",
"chars": 4081,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ c"
},
{
"path": "distribution/bin/src/main/assembly/elasticjob-binary-distribution.xml",
"chars": 2106,
"preview": "<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ contributor license agreements. See the"
},
{
"path": "distribution/bin/src/main/release-docs/README.txt",
"chars": 1278,
"preview": "Welcome to Apache ShardingSphere-ElasticJob\n============================================================================"
},
{
"path": "distribution/pom.xml",
"chars": 1599,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ c"
},
{
"path": "distribution/src/pom.xml",
"chars": 2656,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ c"
},
{
"path": "distribution/src/src/main/assembly/source-distribution.xml",
"chars": 3510,
"preview": "<!--\n ~ Licensed to the Apache Software Foundation (ASF) under one or more\n ~ contributor license agreements. See the"
},
{
"path": "docs/README.md",
"chars": 137,
"preview": "本文档使用[hugo](http://gohugo.io/overview/introduction/)生成文档。\n同时使用主题[hugo theme learn](https://github.com/matcornic/hugo-the"
},
{
"path": "docs/archetypes/default.md",
"chars": 84,
"preview": "---\ntitle: \"{{ replace .Name \"-\" \" \" | title }}\"\ndate: {{ .Date }}\ndraft: true\n---\n\n"
},
{
"path": "docs/build.sh",
"chars": 244,
"preview": "#!/bin/bash\ncd `dirname $0`\n\nrm -rf public\n\nhugo\nfind ./ -name '*.html' -exec sed -i -e 's|[[:space:]]*<option id=\"\\([a-"
},
{
"path": "docs/config.toml",
"chars": 930,
"preview": "baseURL = \"https://shardingsphere.apache.org/elasticjob/current/\"\ncanonifyurls = true\nlanguageCode = \"en-us\"\ntitle = \"El"
},
{
"path": "docs/content/blog/_index.cn.md",
"chars": 1286,
"preview": "+++\npre = \"<b>9. </b>\"\ntitle = \"博客\"\nweight = 9\nchapter = true\n+++\n\n* 2020-07 [InfoQ文章:ElasticJob的产品定位与新版本设计理念](https://w"
},
{
"path": "docs/content/blog/_index.en.md",
"chars": 74,
"preview": "+++\npre = \"<b>9. </b>\"\ntitle = \"Blog\"\nweight = 9\nchapter = true\n+++\n\nTODO\n"
},
{
"path": "docs/content/dev-manual/_index.cn.md",
"chars": 329,
"preview": "+++\npre = \"<b>5. </b>\"\ntitle = \"开发者手册\"\nweight = 5\nchapter = true\n+++\n\nElasticJob 可插拔架构提供了 SPI 的扩展点。\n对于开发者来说,可以十分方便的对功能进行"
},
{
"path": "docs/content/dev-manual/_index.en.md",
"chars": 633,
"preview": "+++\npre = \"<b>5. </b>\"\ntitle = \"Dev Manual\"\nweight = 5\nchapter = true\n+++\n\nElasticJob provides dozens of SPI based exten"
},
{
"path": "docs/content/dev-manual/error-handler.cn.md",
"chars": 697,
"preview": "+++\npre = \"<b>5.3. </b>\"\ntitle = \"错误处理策略\"\nweight = 3\n+++\n\n错误处理策略,用于作业失败时的处理策略。\n\n| *SPI 名称* | *详细说明* "
},
{
"path": "docs/content/dev-manual/error-handler.en.md",
"chars": 1156,
"preview": "+++\npre = \"<b>5.3. </b>\"\ntitle = \"Error Handler\"\nweight = 3\n+++\n\nError handler strategy, used to handle error when excep"
},
{
"path": "docs/content/dev-manual/job-class-provider.cn.md",
"chars": 559,
"preview": "+++\npre = \"<b>5.4. </b>\"\ntitle = \"作业类名称提供策略\"\nweight = 4\n+++\n\n作业类名称提供策略,用于在不同的容器环境下提供准确的作业类名称。\n\n| *SPI 名称* "
},
{
"path": "docs/content/dev-manual/job-class-provider.en.md",
"chars": 826,
"preview": "+++\npre = \"<b>5.4. </b>\"\ntitle = \"Job Class Name Provider\"\nweight = 4\n+++\n\nJob class name provider, used to provide job "
},
{
"path": "docs/content/dev-manual/roadmap.cn.md",
"chars": 1004,
"preview": "+++\npre = \"<b>5.5. </b>\"\ntitle = \"线路规划\"\nweight = 5\nchapter = true\n+++\n\n- [x] Unified Job Config API\n - [x] Core Confi"
},
{
"path": "docs/content/dev-manual/roadmap.en.md",
"chars": 1015,
"preview": "+++\npre = \"<b>5.5. </b>\"\ntitle = \"Roadmap\"\nweight = 5\nchapter = true\n+++\n\n- [x] Unified Job Config API\n - [x] Core Co"
},
{
"path": "docs/content/dev-manual/sharding.cn.md",
"chars": 902,
"preview": "+++\npre = \"<b>5.1. </b>\"\ntitle = \"作业分片策略\"\nweight = 1\nchapter = true\n+++\n\n作业分片策略,用于将作业在分布式环境下分解成为任务使用。\n\n| *SPI 名称* "
},
{
"path": "docs/content/dev-manual/sharding.en.md",
"chars": 988,
"preview": "+++\npre = \"<b>5.1. </b>\"\ntitle = \"Job Sharding Strategy\"\nweight = 1\nchapter = true\n+++\n\nJob Sharding Strategy, used to s"
},
{
"path": "docs/content/dev-manual/thread-pool.cn.md",
"chars": 542,
"preview": "+++\npre = \"<b>5.2. </b>\"\ntitle = \"线程池策略\"\nweight = 2\n+++\n\n线程池策略,用于执行作业的线程池创建。\n\n| *SPI 名称* | *详细说"
},
{
"path": "docs/content/dev-manual/thread-pool.en.md",
"chars": 808,
"preview": "+++\npre = \"<b>5.2. </b>\"\ntitle = \"Thread Pool Strategy\"\nweight = 2\n+++\n\nThread pool strategy, used to create thread pool"
},
{
"path": "docs/content/downloads/_index.cn.md",
"chars": 2681,
"preview": "+++\npre = \"<b>6. </b>\"\ntitle = \"下载\"\nweight = 6\nchapter = true\n\nextracss = true\n\n+++\n\n## 最新版本\n\nElasticJob 的发布版包括源码包及其对应的二"
},
{
"path": "docs/content/downloads/_index.en.md",
"chars": 3187,
"preview": "+++\npre = \"<b>6. </b>\"\ntitle = \"Downloads\"\nweight = 6\nchapter = true\n\nextracss = true\n\n+++\n\n## Latest Releases\n\nElasticJ"
},
{
"path": "docs/content/faq/_index.cn.md",
"chars": 3241,
"preview": "+++\npre = \"<b>8. </b>\"\ntitle = \"FAQ\"\nweight = 8\nchapter = true\n+++\n\n## 1. 阅读源码时为什么会出现编译错误?\n\n回答:\n\nElasticJob 使用 lombok 实现"
},
{
"path": "docs/content/faq/_index.en.md",
"chars": 7512,
"preview": "+++\npre = \"<b>8. </b>\"\ntitle = \"FAQ\"\nweight = 8\nchapter = true\n+++\n\n## 1. Why do some compiling errors appear?\n\nAnswer:\n"
},
{
"path": "docs/content/features/_index.cn.md",
"chars": 132,
"preview": "+++\npre = \"<b>3. </b>\"\ntitle = \"概念 & 功能\"\nweight = 3\nchapter = true\n+++\n\n本章节阐述 ElasticJob 相关的概念与功能,更多使用细节请阅读[用户手册](/cn/us"
},
{
"path": "docs/content/features/_index.en.md",
"chars": 214,
"preview": "+++\npre = \"<b>3. </b>\"\ntitle = \"Concepts & Features\"\nweight = 3\nchapter = true\n+++\n\nThis chapter describes concepts and "
},
{
"path": "docs/content/features/elastic.cn.md",
"chars": 4696,
"preview": "+++\npre = \"<b>3.2. </b>\"\ntitle = \"弹性调度\"\nweight = 2\nchapter = true\n+++\n\n弹性调度是 ElasticJob 最重要的功能,也是这款产品名称的由来。\n它是一款能够让任务通过分"
},
{
"path": "docs/content/features/elastic.en.md",
"chars": 12552,
"preview": "+++\npre = \"<b>3.2. </b>\"\ntitle = \"Elastic Schedule\"\nweight = 2\nchapter = true\n+++\n\nElastic schedule is the most importan"
},
{
"path": "docs/content/features/failover.cn.md",
"chars": 1280,
"preview": "+++\npre = \"<b>3.4. </b>\"\ntitle = \"失效转移\"\nweight = 4\nchapter = true\n+++\n\nElasticJob 不会在本次执行过程中进行重新分片,而是等待下次调度之前才开启重新分片流程。\n"
},
{
"path": "docs/content/features/failover.en.md",
"chars": 3260,
"preview": "+++\npre = \"<b>3.4. </b>\"\ntitle = \"Failover\"\nweight = 4\nchapter = true\n+++\n\nElasticJob will not re-shard during this exec"
},
{
"path": "docs/content/features/job-type.cn.md",
"chars": 688,
"preview": "+++\npre = \"<b>3.6. </b>\"\ntitle = \"作业开放生态\"\nweight = 6\nchapter = true\n+++\n\n灵活定制化作业是 ElasticJob 3.x 版本的最重要设计变革。\n新版本基于 Apach"
},
{
"path": "docs/content/features/job-type.en.md",
"chars": 1675,
"preview": "+++\npre = \"<b>3.6. </b>\"\ntitle = \"Job Open Ecosystem\"\nweight = 6\nchapter = true\n+++\n\nFlexible customized jobs is the mos"
},
{
"path": "docs/content/features/misfire.cn.md",
"chars": 834,
"preview": "+++\npre = \"<b>3.5. </b>\"\ntitle = \"错过任务重执行\"\nweight = 5\nchapter = true\n+++\n\nElasticJob 不允许作业在同一时间内叠加执行。\n当作业的执行时长超过其运行间隔,错过"
},
{
"path": "docs/content/features/misfire.en.md",
"chars": 1741,
"preview": "+++\npre = \"<b>3.5. </b>\"\ntitle = \"Misfire\"\nweight = 5\nchapter = true\n+++\n\nElasticJob does not allow jobs to be executed "
},
{
"path": "docs/content/features/schedule-model.cn.md",
"chars": 216,
"preview": "+++\npre = \"<b>3.1. </b>\"\ntitle = \"调度模型\"\nweight = 1\nchapter = true\n+++\n\nElasticJob 是面向进程内的线程级调度框架。通过它,作业能够透明化的与业务应用系统相结合。"
},
{
"path": "docs/content/features/schedule-model.en.md",
"chars": 497,
"preview": "+++\npre = \"<b>3.1. </b>\"\ntitle = \"Schedule Model\"\nweight = 1\nchapter = true\n+++\n\nElasticJob is a thread-level scheduling"
},
{
"path": "docs/content/overview/_index.cn.md",
"chars": 2931,
"preview": "+++\npre = \"<b>1. </b>\"\ntitle = \"概览\"\nweight = 1\nchapter = true\n+++\n\n[ under one or more\n ~ contributor license agre"
},
{
"path": "docs/layouts/partials/favicon.html",
"chars": 120,
"preview": "<link rel=\"shortcut icon\" href=\"https://shardingsphere.apache.org/elasticjob/images/favicon.png\" type=\"image/x-icon\" />\n"
},
{
"path": "docs/layouts/partials/javascript.html",
"chars": 131,
"preview": "<script src=\"http://cdn.bootcss.com/highlight.js/9.8.0/highlight.min.js\"></script>\n<script>hljs.initHighlightingOnLoad()"
},
{
"path": "docs/layouts/partials/logo.html",
"chars": 551,
"preview": "<!--\n * @Author: your name\n * @Date: 2022-04-14 15:05:07\n * @LastEditTime: 2022-04-14 16:32:03\n * @LastEditors: Please s"
},
{
"path": "docs/layouts/partials/menu-footer.html",
"chars": 8,
"preview": "<p></p>\n"
},
{
"path": "docs/layouts/partials/style.html",
"chars": 206,
"preview": "<link rel=\"stylesheet\" href=\"http://cdn.bootcss.com/highlight.js/9.8.0/styles/monokai-sublime.min.css\">\n<link rel=\"style"
},
{
"path": "docs/layouts/partials/toc.html",
"chars": 150,
"preview": "{{ if and (gt .WordCount 400 ) (.Params.toc) }}\n<aside>\n <header>\n <h2>{{.Title}}</h2>\n </header>\n {{.TableO"
},
{
"path": "docs/layouts/shortcodes/bilibili.html",
"chars": 1054,
"preview": "<!DOCTYPE HTML>\n<html>\n\n<head>\n <style type=\"text/css\">\n .aspect-ratio {\n position: relative;\n "
},
{
"path": "docs/static/css/style.css",
"chars": 372,
"preview": "/* background behind the logo*/\n#header {\n background: black;\n border-color: black;\n}\n\n#header-wrapper {\n backg"
},
{
"path": "docs/static/css/theme-black.css",
"chars": 25114,
"preview": "@charset \"UTF-8\";\n\n#top-github-link,\n#body #breadcrumbs {\n position: relative;\n top: 50%;\n -webkit-transform: t"
},
{
"path": "docs/static/css/theme-mine.css",
"chars": 372,
"preview": "/* background behind the logo*/\n#header {\n background: black;\n border-color: black;\n}\n\n#header-wrapper {\n backg"
},
{
"path": "docs/static/css/theme-white.css",
"chars": 13773,
"preview": "body{\n font-family: 'roboto,sans-serif';\n letter-spacing: .33px;\n font-weight: 400;\n text-rendering: optimiz"
},
{
"path": "docs/static/data/chart.js",
"chars": 3099,
"preview": "var chartData = {\n \"compareQuery\": {\n labels: [\"50\", \"100\", \"200\", \"300\", \"600\"],\n datasets: [\n "
},
{
"path": "docs/themes/hugo-theme-learn/LICENSE.md",
"chars": 1139,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Grav\nCopyright (c) 2016 MATHIEU CORNIC\nCopyright (c) 2017 Valere JEANTET\n\nPerm"
},
{
"path": "docs/themes/hugo-theme-learn/README.md",
"chars": 1794,
"preview": "# Hugo Learn Theme\n\nThis repository contains a theme for [Hugo](https://gohugo.io/), based on great [Grav Learn Theme](h"
},
{
"path": "docs/themes/hugo-theme-learn/archetypes/chapter.md",
"chars": 183,
"preview": "+++\ntitle = \"{{ replace .TranslationBaseName \"-\" \" \" | title }}\"\ndate = {{ .Date }}\nweight = 5\nchapter = true\npre = \"<b>"
},
{
"path": "docs/themes/hugo-theme-learn/archetypes/default.md",
"chars": 113,
"preview": "+++\ntitle = \"{{ replace .TranslationBaseName \"-\" \" \" | title }}\"\ndate = {{ .Date }}\nweight = 5\n+++\n\nLorem Ipsum."
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/LICENSE.md",
"chars": 1081,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2016 MATHIEU CORNIC\n\nPermission is hereby granted, free of charge, to any person ob"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/config.toml",
"chars": 1818,
"preview": "baseURL = \"localhost:1313/test\"\nlanguageCode = \"en-US\"\ndefaultContentLanguage = \"en\"\n\ntitle = \"Hugo Learn Documentation\""
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/_index.en.md",
"chars": 2424,
"preview": "---\ntitle: \"Learn Theme for Hugo\"\n---\n\n# Hugo learn theme\n\n[Hugo-theme-learn](http://github.com/matcornic/hugo-theme-lea"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/_index.fr.md",
"chars": 2588,
"preview": "---\ntitle: \"Learn Theme for Hugo\"\n---\n\n# Thème Hugo learn\n\n[Hugo-theme-learn](http://github.com/matcornic/hugo-theme-lea"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/_index.en.md",
"chars": 166,
"preview": "---\ntitle: Basics\nweight: 5\npre: \"<b>1. </b>\"\nchapter: true\n---\n\n### Chapter 1\n\n# Basics\n\nDiscover what this Hugo theme "
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/_index.fr.md",
"chars": 166,
"preview": "---\ntitle: Démarrage\nweight: 5\npre: \"<b>1. </b>\"\nchapter: true\n---\n\n### Chapitre 1\n\n# Démarrage\n\nDécouvrez comment utili"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md",
"chars": 2288,
"preview": "---\ndate: 2016-04-09T16:50:16+02:00\ntitle: Configuration\nweight: 20\n---\n\n## Global site parameters\n\nOn top of [Hugo glob"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md",
"chars": 2702,
"preview": "---\ndate: 2016-04-09T16:50:16+02:00\ntitle: Configuration\nweight: 20\n---\n\n## Paramètres globaux du site\n\nEn plus de la [c"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md",
"chars": 3476,
"preview": "---\ntitle: Installation\nweight: 15\n---\n\nThe following steps are here to help you initialize your new website. If you don"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.fr.md",
"chars": 3592,
"preview": "---\ntitle: Installation\nweight: 15\n---\n\nLes étapes suivantes sont là pour vous aider à initialiser votre site. Si vous n"
},
{
"path": "docs/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.en.md",
"chars": 368,
"preview": "---\ntitle: Requirements\nweight: 10\ndisableToc: true\n---\n\nThanks to the simplicity of Hugo, this page is as empty as this"
}
]
// ... and 795 more files (download for full content)
About this extraction
This page contains the full source code of the apache/shardingsphere-elasticjob GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 995 files (2.7 MB), approximately 785.6k tokens, and a symbol index with 2686 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.