TokenBlocklistScheduler.kt
package org.openapitools.security
import org.openapitools.repository.TokenBlocklistRepository
import org.slf4j.LoggerFactory
import org.springframework.scheduling.annotation.Scheduled
import org.springframework.stereotype.Component
import java.time.Instant
@Component
class TokenBlocklistScheduler(
private val tokenBlocklist: TokenBlocklistRepository,
) {
private val log = LoggerFactory.getLogger(javaClass)
@Scheduled(fixedDelay = 3_600_000)
fun purgeExpired() {
val count = tokenBlocklist.deleteAllByExpiresAtBefore(Instant.now())
if (count > 0) log.info("Purged {} expired token blocklist entries", count)
}
}