Skip to content

Commit

Permalink
Make event-listener bootstrap more robust if nats is not available
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasdarimont committed May 4, 2024
1 parent 16bb873 commit bdb2ea8
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 9 deletions.
1 change: 1 addition & 0 deletions keycloak/extensions/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,12 @@ public EventListenerProvider create(KeycloakSession session) {
@Override
public void init(Config.Scope config) {
/* configure factory */
publisher = createNatsPublisher(config);
try {
publisher = createNatsPublisher(config);
} catch (Exception ex) {
log.warnf("Could not create nats publisher: %s", ex.getMessage());
publisher = new NoopPublisher();
}
}

private NatsEventPublisher createNatsPublisher(Config.Scope config) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public void init() {
try {
connection = Nats.connect(options);
} catch (Exception e) {
log.warn("Could not connect to nats server", e);
throw new RuntimeException("Could not connect to nats server", e);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.github.thomasdarimont.keycloak.custom.eventpublishing;

import lombok.extern.jbosslog.JBossLog;

import java.util.Map;

@JBossLog
public class NoopPublisher implements EventPublisher{

@Override
public void publish(String topic, Object event) {
// NOOP
}

@Override
public Map<String, String> getOperationalInfo() {
return Map.of();
}

@Override
public void init() {
// NOOP
}

@Override
public void close() {
// NOOP
}
}
32 changes: 25 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,33 @@
<maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version>
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
<maven-jar-plugin.version>3.4.0</maven-jar-plugin.version>
<maven-assembly-plugin.version>3.6.0</maven-assembly-plugin.version>
<maven-compiler-plugin.version>3.12.1</maven-compiler-plugin.version>
<maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

0 comments on commit bdb2ea8

Please sign in to comment.