Removes use of the discontinued Quartz in ElasticJob
envgap__apache__shardingsphere-elasticjob-2439
01 / FAILURE SIGNATURE
As reported upstream
No identifying execution failure has been captured.
Not a benchmark task.
- The project already builds and runs before the fix, so there is nothing to repair.
02 / ENVIRONMENT RECIPE
- Base commit
c10be8a3438c8ecbeef69295ced1679a72ac7648- Manifest
pom.xml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
apache/shardingsphere-elasticjob #2439 · read the original issue
## 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?
- See https://github.com/quartz-scheduler/quartz/issues/1134 .
### Describe the feature you would like.
- In short, ElasticJob is a distributed job framework, which is mainly designed to be used by ShardingSphere. ElasticJob relies on a non-distributed job framework, Quartz. Quartz introduced an old version of HikariCP, which led to the unique form of using ElasticJob on the ShardingSphere side. See https://github.com/apache/shardingsphere/blob/f699f56189bdc7925bc3c75a170ea1c7c142810f/pom.xml#L385 .
```xml
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-lite-core</artifactId>
<version>${elasticjob.version}</version>
<exclusions>
<exclusion>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP-java7</artifactId>
</exclusion>
</exclusions>
</dependency>
```
- Quartz has stopped maintenance, and we should consider switching to other underlying job frameworks that do not support distributed jobs.
- First of all we cannot use https://github.com/jobrunr/jobrunr . `jobrunr/jobrunr` uses `LGPL-3.0-only`, which is not allowed by ASF. `LGPL-3.0-only` libraries may only be used during unit testing or during the build process. See https://www.apache.org/legal/resolved.html .
- Consider the following options?
- https://github.com/lukas-krecan/ShedLock
- https://github.com/kagkarlsson/db-scheduler
- Aloha, Jakarta EE 11?
- A non-distributed job module that ElasticJob can proactively implement? But I'm really not sure how complicated that would be.04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]