@Override public void run(Configuration configuration, Environment environment) { environment.getApplicationContext().addLifeCycleListener(new AbstractLifeCycle.AbstractLifeCycleListener() { @Override public void lifeCycleStarted(LifeCycle event) { final Set<SslReload> reloaders = new HashSet<>(); reloaders.addAll(getReloaders(environment.getApplicationContext())); reloaders.addAll(getReloaders(environment.getAdminContext())); LOGGER.info("{} ssl reloaders registered", reloaders.size()); reloadTask.setReloaders(reloaders); } }); environment.admin().addTask(reloadTask); }
@Override public void run(Environment environment) { environment.getApplicationContext().addLifeCycleListener(new AbstractLifeCycle.AbstractLifeCycleListener() { @Override public void lifeCycleStarted(LifeCycle event) { final ImmutableSet<SslReload> reloaders = ImmutableSet.<SslReload>builder() .addAll(getReloaders(environment.getApplicationContext())) .addAll(getReloaders(environment.getAdminContext())) .build(); LOGGER.info("{} ssl reloaders registered", reloaders.size()); reloadTask.setReloaders(reloaders); } }); environment.admin().addTask(reloadTask); }
@Override public void run(HelloWorldConfiguration configuration, Environment environment) { final PersonDAO dao = new PersonDAO(hibernateBundle.getSessionFactory()); final Template template = configuration.buildTemplate(); environment.healthChecks().register("template", new TemplateHealthCheck(template)); environment.admin().addTask(new EchoTask()); environment.jersey().register(DateRequiredFeature.class); environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<User>() .setAuthenticator(new ExampleAuthenticator()) .setAuthorizer(new ExampleAuthorizer()) .setRealm("SUPER SECRET STUFF") .buildAuthFilter())); environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class)); environment.jersey().register(RolesAllowedDynamicFeature.class); environment.jersey().register(new HelloWorldResource(template)); environment.jersey().register(new ViewResource()); environment.jersey().register(new ProtectedResource()); environment.jersey().register(new PeopleResource(dao)); environment.jersey().register(new PersonResource(dao)); environment.jersey().register(new FilteredResource()); } }
@Override public void addTask(Task task) { _environment.admin().addTask(task); } }
private void addTasks(Environment environment, Injector injector) { Set<Class<? extends Task>> taskClasses = reflections .getSubTypesOf(Task.class); for (Class<? extends Task> task : taskClasses) { environment.admin().addTask(injector.getInstance(task)); LOG.info("Added task: " + task); } }
@Override public void addTask(Task task) { _environment.admin().addTask(task); } }
@Override public void install(final Environment environment, final Task instance) { environment.admin().addTask(instance); }
@Override public void scanAndAdd(Environment environment, Injector injector, Reflections reflections) { Set<Class<? extends Task>> taskClasses = reflections.getSubTypesOf(Task.class); for (Class<? extends Task> task : taskClasses) { environment.admin().addTask(injector.getInstance(task)); LOGGER.info("Added task: " + task); } } }
protected void addTask(Task task, Environment env) { env.admin().addTask(task); }
@Override public void install(final Environment environment, final Task instance) { environment.admin().addTask(instance); }
private void registerTasks(Environment environment) throws ComponentLookupException { // Registering tasks implementations against the environment Map<String, Task> tasks = componentManager.getInstanceMap(Task.class); for (Map.Entry<String, Task> task : tasks.entrySet()) { if (io.dropwizard.servlets.tasks.Task.class.isAssignableFrom(task.getValue().getClass())) { environment.admin().addTask((io.dropwizard.servlets.tasks.Task) task.getValue()); } } }
/** * Register {@link Task}s in Dropwizard {@link Environment} from Spring application context. * * @param environment the Dropwizard environment * @param context the Spring application context */ private void registerTasks(Environment environment, ConfigurableApplicationContext context) { final Map<String, Task> beansOfType = context.getBeansOfType(Task.class); for (String beanName : beansOfType.keySet()) { // Add task to Dropwizard environment Task task = beansOfType.get(beanName); environment.admin().addTask(task); LOG.info("Registering task: " + task.getClass().getName()); } }
private void loadTasks(List<String> tasks, ApplicationContext ctx, Environment env) { if (tasks != null) { for (String task : tasks) { try { env.admin().addTask((Task) ctx.getBean(task)); } catch (NoSuchBeanDefinitionException nsbde) { logNoSuchBeanDefinitionException(nsbde); } } } }
private void evaluateScanner() throws Exception { if (!runPerServiceMode(scanner)) { return; } ResourceRegistry resources = _injector.getInstance(ResourceRegistry.class); ScanUploader scanUploader = _injector.getInstance(ScanUploader.class); StashRequestManager stashRequestManager = _injector.getInstance(StashRequestManager.class); resources.addResource(_cluster, "emodb-stash-1", new StashResource1(scanUploader, stashRequestManager)); // No admin tasks are registered automatically in SCANNER ServiceMode _environment.admin().addTask(_injector.getInstance(LeaderServiceTask.class)); }
/** * Detect {@link Task} components. */ private void detectTasks(final Environment environment) { for (BeanEntry<Annotation, Task> entry : locate(Task.class)) { Task component = entry.getValue(); environment.admin().addTask(component); log.debug("Added task: {}", component); } }
private void evaluateDeltaMigrator() throws Exception { if (!runPerServiceMode(delta_migrator)) { return; } _environment.jersey().register(new BlockMigratorResource1(_injector.getInstance(DeltaMigrator.class))); // No admin tasks are registered automatically in DELTA_MIGRATOR ServiceMode _environment.admin().addTask(_injector.getInstance(LeaderServiceTask.class)); }
@Test public void addTasks() throws Exception { //given when(environment.admin()).thenReturn(mock(AdminEnvironment.class)); //when autoConfig.run(environment, injector); //then Task task = injector.getInstance(InjectedTask.class); assertThat(task.getName()).isEqualTo("test task"); verify(environment.admin()).addTask(task); }
protected void setupEnvironment(ConsulFactory consulConfig, Environment environment) { final Consul consul = consulConfig.build(); final String serviceId = consulConfig.getServiceId().orElse(UUID.randomUUID().toString()); final ConsulAdvertiser advertiser = new ConsulAdvertiser(environment, consulConfig, consul, serviceId); final Optional<Duration> retryInterval = consulConfig.getRetryInterval(); final Optional<ScheduledExecutorService> scheduler = retryInterval.map(i -> Executors.newScheduledThreadPool(1)); // Register a Jetty listener to get the listening host and port environment .lifecycle() .addServerLifecycleListener( new ConsulServiceListener(advertiser, retryInterval, scheduler)); // Register a ping healthcheck to the Consul agent environment.healthChecks().register("consul", new ConsulHealthCheck(consul)); // Register a shutdown manager to deregister the service environment.lifecycle().manage(new ConsulAdvertiserManager(advertiser, scheduler)); // Add an administrative task to toggle maintenance mode environment.admin().addTask(new MaintenanceTask(consul, serviceId)); }
@Override public void run(OrderApplicationConfiguration configuration, Environment environment) throws Exception { ObjectMapper objectMapper = environment.getObjectMapper(); objectMapper.enable(INDENT_OUTPUT); objectMapper.enable(WRITE_DATES_AS_TIMESTAMPS); OrderProjectionRepository orderRepository = new InMemOrderProjectionRepository(); DomainEventBus domainEventBus = new GuavaDomainEventBus(); OrderListDenormalizer orderListDenormalizer = domainEventBus.register(new OrderListDenormalizer(orderRepository)); OrdersPerDayAggregator ordersPerDayAggregator = domainEventBus.register(new OrdersPerDayAggregator()); ProductCatalogClient catalogClient = ProductCatalogClient.create(ClientBuilder.newClient(), configuration.productCatalogServiceUrl); DomainEventStore domainEventStore = (DomainEventStore) configuration.eventStore.newInstance(); QueryService queryService = new QueryService(orderListDenormalizer, ordersPerDayAggregator, catalogClient); logger.info("Using eventStore: " + domainEventStore.getClass().getName()); Repository aggregateRepository = new DefaultRepository(domainEventBus, domainEventStore); CommandBus commandBus = GuavaCommandBus.asyncGuavaCommandBus(); commandBus.register(new OrderCommandHandler(aggregateRepository)); commandBus.register(new PublisherContractCommandHandler(aggregateRepository)); // Create and register Sagas PurchaseRegistrationSaga purchaseRegistrationSaga = new PurchaseRegistrationSaga(queryService, commandBus); domainEventBus.register(purchaseRegistrationSaga); environment.jersey().register(new QueryResource(queryService, domainEventStore)); environment.jersey().register(new OrderResource(commandBus)); environment.jersey().register(new PublisherContractResource(commandBus)); environment.jersey().setUrlPattern("/service/*"); environment.admin().addTask(new ReplayEventsTask(domainEventStore, domainEventBus)); configureCors(environment); logger.info("OrderApplication started!"); }