context.addFilter("ThreadNameFilter", ThreadNameFilter.class); if (!env.getProtectedTargets().isEmpty()) { logger.warn("The WizToWar adapter doesn't support protected targets"); for (ImmutableMap.Entry<String, ServletHolder> entry : env.getServlets().entrySet()) { final HttpServlet servletInstance = (HttpServlet) entry.getValue().getServletInstance(); final ServletRegistration.Dynamic servletReg = context.addServlet(entry.getKey(), servletInstance); env.addProvider(new JacksonMessageBodyProvider(env.getObjectMapperFactory().build(), env.getValidator())); for (ImmutableMap.Entry<String, FilterHolder> entry : env.getFilters().entries()) { String mapping = entry.getKey(); FilterHolder holder = entry.getValue(); for (EventListener listener : env.getServletListeners()) { context.addListener(listener); if (env.getSessionHandler() != null) { logger.warn("The WizToWar adapter doesn't support custom session handlers.");
for (AnnotatedMethod method : annotatedMethods(klass)) { final StringBuilder pathBuilder = new StringBuilder() .append(rootPath)
environment = new ExtendedEnvironment(bootstrap.getName(), configuration, bootstrap.getObjectMapperFactory(), validator); final Map<String, Object> properties = this.getProperties(servletContext); if (properties != null) { for (final Map.Entry<String, Object> prop : properties.entrySet()) { environment.setJerseyProperty(prop.getKey(), prop.getValue()); environment.start(); environment.validateJerseyResources(); environment.logEndpoints(configuration); singletons.addAll(environment.getJerseyResourceConfig().getSingletons()); classes = new HashSet<Class<?>>(); classes.addAll(environment.getJerseyResourceConfig().getClasses()); Dynamic registration = servletContext.addServlet("Jersey REST Service", environment.getJerseyServletContainer()); registration.addMapping("/rest/*"); registration.setLoadOnStartup(1);
/** * This method is adapted from ServerFactory.buildServer. * * @param env the {@link ExtendedEnvironment} to get {@link HealthCheck}s from. */ private void addHealthChecks(ExtendedEnvironment env) { HealthChecks.defaultRegistry().register(new DeadlockHealthCheck()); for (HealthCheck healthCheck : env.getHealthChecks()) { HealthChecks.defaultRegistry().register(healthCheck); } if (env.getHealthChecks().isEmpty()) { logger.warn('\n' + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" + "! THIS SERVICE HAS NO HEALTHCHECKS. THIS MEANS YOU WILL NEVER KNOW IF IT !\n" + "! DIES IN PRODUCTION, WHICH MEANS YOU WILL NEVER KNOW IF YOU'RE LETTING !\n" + "! YOUR USERS DOWN. YOU SHOULD ADD A HEALTHCHECK FOR EACH DEPENDENCY OF !\n" + "! YOUR SERVICE WHICH FULLY (BUT LIGHTLY) TESTS YOUR SERVICE'S ABILITY TO !\n" + "! USE THAT SERVICE. THINK OF IT AS A CONTINUOUS INTEGRATION TEST. !\n" + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ); } }