private void createRunner(final Runner runner)
{
RunnerContext runnerContext = pluginLoader::getPluginsInfo;
logger.info("Runner: {} starts loading {}", runner.getClass().getName(), PipelinePlugin.class.getName());
checkArgument(runner.getContainerFactory() != null, runner.getClass() + " getContainerFactory() return null");
final ContainerFactory factory;
try {
factory = runner.getContainerFactory().newInstance();
}
catch (InstantiationException | IllegalAccessException e) {
throw throwsException(e);
}
runner.create(runnerContext).forEach(jobActuatorHandle -> {
JobActuator jobActuator = new JobActuatorImpl(jobActuatorHandle, factory);
String name = jobActuator.getInfo().getName();
checkState(!jobActuatorMap.containsKey(name), String.format("Multiple entries with same key: %s=%s and %s=%s", name, jobActuatorMap.get(name), name, jobActuator));
jobActuatorMap.put(name, jobActuator);
});
}