in disco-java-agent/disco-java-agent-core/src/main/java/software/amazon/disco/agent/plugin/PluginDiscovery.java [303:325]
static void processInstallableClasses(String pluginName, String installableClassNames, boolean bootstrap, boolean runtimeOnly) throws Exception {
if (installableClassNames != null) {
String[] classNames = splitString(installableClassNames);
for (String className: classNames) {
if (runtimeOnly) {
log.info("DiSCo(Core) Installable/Package declared in plugin will be ignored because agent is configured as runtime only: " + className);
continue;
}
try {
Class<?> clazz = classForName(className.trim(), bootstrap);
if (Installable.class.isAssignableFrom(clazz) || Package.class.isAssignableFrom(clazz)) {
ClassInfo installableInfo = new ClassInfo(pluginName, clazz, bootstrap);
installableClasses.add(installableInfo);
} else {
log.warn("DiSCo(Core) specified Installable is not an instance of Installable or Package: " + className);
}
} catch (ClassNotFoundException e) {
log.warn("DiSCo(Core) cannot locate Installable: " + className, e);
}
}
}
}