@Scheduled(cron = "0 0 3 * * *") triggers svc.revalidate() daily. @EventListener(ApplicationReadyEvent.class) @Async fires once 60s after boot to catch ABSENT->ACTIVE transitions if the license was written to PG between server starts. Exceptions are logged but never propagate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>