Fix Event Handlers registration Issue (#16544)

* Fix Event Handlers Issue

* Review Comments
This commit is contained in:
Mohit Yadav 2024-06-05 22:40:02 +05:30 committed by GitHub
parent dff0aa8dbe
commit d374e48b79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -13,6 +13,8 @@
package org.openmetadata.service.events;
import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
@ -44,22 +46,26 @@ public class EventFilter implements ContainerResponseFilter {
registerEventHandlers(config);
}
@SuppressWarnings("unchecked")
private void registerEventHandlers(OpenMetadataApplicationConfig config) {
try {
if (nullOrEmpty(config.getEventHandlerConfiguration())) {
Set<String> eventHandlerClassNames =
new HashSet<>(config.getEventHandlerConfiguration().getEventHandlerClassNames());
for (String eventHandlerClassName : eventHandlerClassNames) {
@SuppressWarnings("unchecked")
EventHandler eventHandler =
((Class<EventHandler>) Class.forName(eventHandlerClassName))
.getConstructor()
.newInstance();
eventHandler.init(config);
eventHandlers.add(eventHandler);
LOG.info("Added event handler {}", eventHandlerClassName);
try {
EventHandler eventHandler =
((Class<EventHandler>) Class.forName(eventHandlerClassName))
.getConstructor()
.newInstance();
eventHandler.init(config);
eventHandlers.add(eventHandler);
LOG.info("Added event handler {}", eventHandlerClassName);
} catch (Exception e) {
LOG.info("Exception ", e);
}
}
} catch (Exception e) {
LOG.info("Exception ", e);
} else {
LOG.info("Event handler configuration is empty");
}
}