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

org.jobrunr.configuration.JobRunrMicroMeterIntegration Maven / Gradle / Ivy

package org.jobrunr.configuration;

import io.micrometer.core.instrument.MeterRegistry;
import org.jobrunr.server.BackgroundJobServer;
import org.jobrunr.server.metrics.BackgroundJobServerMetricsBinder;
import org.jobrunr.storage.StorageProvider;
import org.jobrunr.storage.metrics.StorageProviderMetricsBinder;

/**
 * A wrapper around a Micrometer {@link MeterRegistry} that allows to integrate Micrometer with JobRunr.
 * 

* This wrapper is needed as otherwise the JobRunrConfiguration class would have a dependency on Micrometer which is optional. */ public class JobRunrMicroMeterIntegration implements AutoCloseable { private final MeterRegistry meterRegistry; private StorageProviderMetricsBinder storageProviderMetricsBinder; private BackgroundJobServerMetricsBinder backgroundJobServerMetricsBinder; public JobRunrMicroMeterIntegration(MeterRegistry meterRegistry) { this.meterRegistry = meterRegistry; } public void initialize(StorageProvider storageProvider, BackgroundJobServer backgroundJobServer) { storageProviderMetricsBinder = new StorageProviderMetricsBinder(storageProvider, meterRegistry); if (backgroundJobServer != null) { backgroundJobServerMetricsBinder = new BackgroundJobServerMetricsBinder(backgroundJobServer, meterRegistry); } } @Override public void close() { storageProviderMetricsBinder.close(); if (backgroundJobServerMetricsBinder != null) { backgroundJobServerMetricsBinder.close(); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy