All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.blume2000.boot.togglz.cache.TogglzCacheWarmer.kt Maven / Gradle / Ivy

package de.blume2000.boot.togglz.cache

import de.blume2000.boot.togglz.domain.TogglzFeature
import io.micrometer.core.annotation.Timed
import org.springframework.scheduling.annotation.Scheduled
import org.springframework.stereotype.Component
import org.togglz.core.manager.FeatureManager

@Component
class TogglzCacheWarmer(private val featureManager: FeatureManager) {

  companion object {

    private const val WARM_TOGGLZ_CACHE_FIXED_RATE = 1L * 60L * 1000L
  }

  @Timed("de.blume2000.boot.togglz.cache.TogglzCacheWarmer.warmTogglzCache", longTask = true)
  @Scheduled(initialDelay = 0, fixedRate = WARM_TOGGLZ_CACHE_FIXED_RATE)
  fun warmTogglzCache() {
    featureManager.features.map { TogglzFeature(it, featureManager.getFeatureState(it)) }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy