Replace CDI with Micrometer global #30

Merged
sschnabe merged 1 commit from micrometer into main 2023-04-25 08:51:48 +02:00
2 changed files with 7 additions and 11 deletions

View file

@ -1,7 +1,5 @@
package io.kokuwa.keycloak.metrics.event;
import javax.enterprise.inject.spi.CDI;
import org.jboss.logging.Logger;
import org.keycloak.Config.Scope;
import org.keycloak.events.EventListenerProvider;
@ -10,6 +8,7 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Metrics;
/**
* Factory for {@link MetricsEventListener}, uses {@link MeterRegistry} from CDI.
@ -19,7 +18,6 @@ import io.micrometer.core.instrument.MeterRegistry;
public class MetricsEventListenerFactory implements EventListenerProviderFactory {
private static final Logger log = Logger.getLogger(MetricsEventListenerFactory.class);
private MeterRegistry registry;
private boolean replaceIds;
@Override
@ -34,13 +32,11 @@ public class MetricsEventListenerFactory implements EventListenerProviderFactory
}
@Override
public void postInit(KeycloakSessionFactory factory) {
registry = CDI.current().select(MeterRegistry.class).get();
}
public void postInit(KeycloakSessionFactory factory) {}
@Override
public EventListenerProvider create(KeycloakSession session) {
return new MetricsEventListener(registry, replaceIds, session);
return new MetricsEventListener(Metrics.globalRegistry, replaceIds, session);
}
@Override

View file

@ -28,16 +28,16 @@ public class KeycloakIT {
@Test
void loginAndAttempts(KeycloakClient keycloak, Prometheus prometheus) {
var clientId1 = UUID.randomUUID().toString();
var realmName1 = UUID.randomUUID().toString();
var realmName1 = "loginAndAttempts_1";
var clientId1 = realmName1 + "_client_1";
var username1 = UUID.randomUUID().toString();
var password1 = UUID.randomUUID().toString();
keycloak.createRealm(realmName1);
keycloak.createClient(realmName1, clientId1);
keycloak.createUser(realmName1, username1, password1);
var clientId2 = UUID.randomUUID().toString();
var realmName2 = UUID.randomUUID().toString();
var realmName2 = "loginAndAttempts_2";
var clientId2 = realmName2 + "_client_2";
var username2 = UUID.randomUUID().toString();
var password2 = UUID.randomUUID().toString();
keycloak.createRealm(realmName2);