public abstract void displayHelp(PrintStream out);
public void initializeServiceDiscovery() { initializeLoadBalancerFactory(injector); }
service.enableJmx(); service.initProperties(args); service.setConfigurationPlugins(configPlugins); service.setServiceRegistryPlugins(serviceRegistryPlugins); service.setMetricsReporterPlugins(metricsReportingPlugins); service.setTracingPlugins(tracingPlugins); service.initializeConfigurationManager(); service.initializeGuice(); service.initializeMetricsReporting(); service.initializeServiceDiscovery(); service.registerMethodHandlers(rpcHandlers); service.registerMethodHandlers(); service.startJettyContainer(); service.initializeServiceRegistration(); service.verifyEnvironment(); service.initializeHealthCheckManager(hcProviders); service.performDatabaseMigration();
@Test public void initializeGuice_ProvideImmutableListViaExtendingService_NoProblem() throws Exception { // given final AbstractService service = new AbstractService() { @Override public void displayHelp(PrintStream out) { } @Override protected List<Module> getGuiceModules() { return Collections.emptyList(); } }; // when service.initializeGuice(); // then // no exception should be raised assertThat(service.injector).isNotNull(); }
@Override public void bootstrapComplete() throws InterruptedException { // Start a messaging consumer for the default inbox. ConsumerFactory consumerFactory = injector.getInstance(ConsumerFactory.class); consumerFactory.defaultInboxConsumer(new DiscardFailedMessages()); injector.getInstance(RandomEventHandler.class); super.bootstrapComplete(); } }
public void initializeGuice() throws Exception { if (injector == null) { InjectionModule mainModule = new InjectionModule(serviceProperties); mainModule.setConfigurationManager(configurationManager); mainModule.setMethodHandlerDictionary(methodHandlers); ServiceRegistryModule registryModule = new ServiceRegistryModule(serviceProperties); registryModule.setServiceRegistryPlugins(serviceRegistryPlugins); MetricsReporterModule metricsModule = new MetricsReporterModule(); metricsModule.setPlugins(metricsReporterPlugins); TracingModule tracingModule = new TracingModule(serviceProperties); tracingModule.setPlugins(tracingPlugins); List<Module> modules = getGuiceModules(); if (modules == null) { modules = new ArrayList<>(); } else { modules = new ArrayList<>(modules); } modules.add(0, new MessagingModule()); modules.add(0, new OrangeServletModule()); modules.add(0, registryModule); modules.add(0, metricsModule); modules.add(0, tracingModule); modules.add(0, mainModule); //^^^ the order of the modules is specifically controlled here injector = Guice.createInjector((Module[]) modules.toArray(new Module[0])); } }
@Test public void initializeGuice_ProvideNullListViaExtendingService_NoProblem() throws Exception { // given final AbstractService service = new AbstractService() { @Override public void displayHelp(PrintStream out) { } @Override protected List<Module> getGuiceModules() { return null; } }; // when service.initializeGuice(); // then // no exception should be raised assertThat(service.injector).isNotNull(); }
private static void displayHelpAndExitIfNeeded(String[] args, AbstractService service) { for (String arg : args) { if (arg.endsWith("help")) { service.displayHelp(System.out); System.exit(0); } } }
public void initializeConfigurationManager() { if (StringUtils.equals(serviceProperties.getServiceName(), "com.sixt.service.configuration")) { return; } InjectionModule configBaseModule = new InjectionModule(serviceProperties); configurationManager = new ConfigurationManager(serviceProperties); configBaseModule.setConfigurationManager(configurationManager); ServiceRegistryModule serviceRegistryModule = new ServiceRegistryModule(serviceProperties); serviceRegistryModule.setServiceRegistryPlugins(serviceRegistryPlugins); ConfigurationModule configurationModule = new ConfigurationModule(serviceProperties); configurationModule.setConfigurationPlugins(configurationPlugins); Injector configInjector = Guice.createInjector(configBaseModule, serviceRegistryModule, configurationModule, new TracingModule(serviceProperties)); ConfigurationProvider configProvider = configInjector.getInstance(ConfigurationProvider.class); if (configProvider == null) { return; } initializeLoadBalancerFactory(configInjector); configurationManager.registerChangeCallback(ServiceProperties.LOG_LEVEL_KEY, new LogLevelChangeCallback(new SixtLogbackContext())); configProvider.initialize(); configurationManager.waitForInitialConfiguration(); }