← ClaudeAtlas

kora-aop-scheduling-quartzlisted

Quartz scheduling in Kora — @ScheduleWithCron, @ScheduleWithTrigger, @DisallowConcurrentExecution, @PersistJobDataAfterExecution (scheduling-quartz). Use for cron/custom-trigger/persistent jobs; for plain timers use kora-aop-scheduling-jdk.
kora-projects/kora-skills · ★ 1 · AI & Automation · score 72
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