in disco-java-agent/disco-java-agent-core/src/main/java/software/amazon/disco/agent/plugin/PluginDiscovery.java [168:193]
public static Collection<PluginOutcome> apply() {
if (initClasses != null && !initClasses.isEmpty()) {
for (ClassInfo info : initClasses) {
try {
info.clazz.getDeclaredMethod("init").invoke(null);
pluginOutcomes.get(info.pluginName).initClass = info.clazz;
} catch (Exception e) {
log.warn("DiSCo(Core) could not process the init() method of " + info.clazz.getName(), e);
}
}
}
if (listenerClasses != null && !listenerClasses.isEmpty()) {
for (ClassInfo info : listenerClasses) {
try {
Listener listener = (Listener) info.clazz.getDeclaredConstructor().newInstance();
EventBus.addListener(listener);
pluginOutcomes.get(info.pluginName).listeners.add(listener);
} catch (Exception e) {
log.warn("DiSCo(Core) could not add the Listener " + info.clazz.getName(), e);
}
}
}
return pluginOutcomes.values();
}