diff --git a/src/main/kotlin/no/nav/klage/oppgave/config/FunksjonelleGaugesConfiguration.kt b/src/main/kotlin/no/nav/klage/oppgave/config/FunksjonelleGaugesConfiguration.kt index 1e4c84c2f..4a14ba183 100644 --- a/src/main/kotlin/no/nav/klage/oppgave/config/FunksjonelleGaugesConfiguration.kt +++ b/src/main/kotlin/no/nav/klage/oppgave/config/FunksjonelleGaugesConfiguration.kt @@ -18,12 +18,6 @@ class FunksjonelleGaugesConfiguration { private val logger = getLogger(javaClass.enclosingClass) } - @PreDestroy - fun onDestroy(registry: MeterRegistry) { - logger.info("We have received a SIGTERM (?)") - if (!registry.isClosed) registry.close() - } - @Bean fun registerFunctionalStats(elasticsearchService: ElasticsearchService): MeterBinder { return MeterBinder { registry: MeterRegistry -> @@ -39,5 +33,25 @@ class FunksjonelleGaugesConfiguration { //TODO: Egentlig ønsker jeg å registrere antall saksdokumenter per klagebehandling, med klagebehandlingId'en som en tag i gaugen. Men hvordan i all verden gjør jeg det?? } } +} + +@Configuration +class MicrometerGracefulShutdownConfiguration { + + @Bean + fun registryCloser(registry: MeterRegistry) = RegistryCloser(registry) +} + +class RegistryCloser(private val registry: MeterRegistry) { + + companion object { + @Suppress("JAVA_CLASS_ON_COMPANION") + private val logger = getLogger(javaClass.enclosingClass) + } + @PreDestroy + fun onDestroy() { + logger.info("We have received a SIGTERM (?)") + if (!registry.isClosed) registry.close() + } } \ No newline at end of file