}
}
private static Injector setupInjector(Configuration configuration, List<PluginModule> pluginModules) {
try {
GuiceInstantiationService instantiationService = new GuiceInstantiationService();
List<Module> bindingsModules = getBindingsModules(instantiationService,
new ServerBindings(configuration),
new PersistenceServicesBindings(),
new ServerMessageInputBindings(),
new MessageFilterBindings(),
new AlarmCallbackBindings(),
new InitializerBindings(),
new MessageOutputBindings(),
new RotationStrategyBindings());
LOG.debug("Adding plugin modules: " + pluginModules);
bindingsModules.addAll(pluginModules);
final Injector injector = GuiceInjectorHolder.createInjector(bindingsModules);
instantiationService.setInjector(injector);
return injector;
} catch (Exception e) {
LOG.error("Injector creation failed!", e);
return null;