kora-aop-scheduling-quartzlisted
Install: claude install-skill kora-projects/kora-skills
# Kora Quartz Scheduling
> **Kora sub-skill — obey the [kora-v1 meta rules](../../SKILL.md) on every task:** **R0** ensure `.kora-agent/` docs+examples are cloned · **R1** read this sub-skill before writing code · **R2** Kora APIs only — no Spring/Micronaut/Quarkus, no invented annotations or config keys · **R3** journal any incorrect Kora usage. Add comments/Javadoc only if asked.
Annotation-driven scheduling backed by the Quartz library. Annotate a method on
a `@Component` with `@ScheduleWithCron` or `@ScheduleWithTrigger`; Kora generates
the aspect at compile time and registers the job with a Quartz `Scheduler`.
Use Quartz when you need **cron expressions** or a **custom Quartz `Trigger`**.
For simple fixed-rate / fixed-delay / one-shot timers, use the lighter
`scheduling-jdk` module instead — see [kora-aop-scheduling-jdk](../kora-aop-scheduling-jdk/SKILL.md).
**Class requirement:** the enclosing class must be a `@Component`. Kora generates
a separate Quartz `Job` wrapper at compile time, so the component class itself can
stay `final` (Java) / non-`open` (Kotlin) — the canonical examples use
`public final class ...Scheduler`. (The general "non-`final`/`open`" rule only
applies to AOP aspects that wrap the method body, such as `@Log` or `@Retry`.)
---
## Quick Start
### 1. Dependencies
The `kora-parent` BOM pins every Kora artifact — never version `ru.tinkoff.kora:*`
deps yourself.
```groovy
// build.gradle (Java)
dependencies {
koraBom platform("ru.tinkoff.kor