Skip to content

Commit

Permalink
Remove obsolete NonblockingServletHolder (#3527)
Browse files Browse the repository at this point in the history
Refs jetty/jetty.project#5496
Refs #3526

(cherry picked from commit eef4527)
  • Loading branch information
joschi committed Oct 28, 2020
1 parent 9cac528 commit cfbf22f
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 123 deletions.
Expand Up @@ -16,7 +16,6 @@
import io.dropwizard.jersey.validation.HibernateValidationBinder;
import io.dropwizard.jetty.GzipHandlerFactory;
import io.dropwizard.jetty.MutableServletContextHandler;
import io.dropwizard.jetty.NonblockingServletHolder;
import io.dropwizard.jetty.ServerPushFilterFactory;
import io.dropwizard.lifecycle.setup.LifecycleEnvironment;
import io.dropwizard.request.logging.LogbackAccessRequestLogFactory;
Expand All @@ -31,6 +30,7 @@
import org.eclipse.jetty.server.handler.ErrorHandler;
import org.eclipse.jetty.server.handler.RequestLogHandler;
import org.eclipse.jetty.server.handler.StatisticsHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.setuid.RLimit;
import org.eclipse.jetty.setuid.SetUIDListener;
import org.eclipse.jetty.util.BlockingArrayQueue;
Expand Down Expand Up @@ -558,9 +558,8 @@ protected Handler createAdminServlet(Server server,
handler.setServer(server);
handler.getServletContext().setAttribute(MetricsServlet.METRICS_REGISTRY, metrics);
handler.getServletContext().setAttribute(HealthCheckServlet.HEALTH_CHECK_REGISTRY, healthChecks);
handler.addServlet(new NonblockingServletHolder(new AdminServlet()), "/*");
final String allowedMethodsParam = allowedMethods.stream()
.collect(Collectors.joining(","));
handler.addServlet(AdminServlet.class, "/*");
final String allowedMethodsParam = String.join(",", allowedMethods);
handler.addFilter(AllowedMethodsFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST))
.setInitParameter(AllowedMethodsFilter.ALLOWED_METHODS_PARAM, allowedMethodsParam);
return handler;
Expand All @@ -584,8 +583,7 @@ protected Handler createAppServlet(Server server,
@Nullable Servlet jerseyContainer,
MetricRegistry metricRegistry) {
configureSessionsAndSecurity(handler, server);
final String allowedMethodsParam = allowedMethods.stream()
.collect(Collectors.joining(","));
final String allowedMethodsParam = String.join(",", allowedMethods);
handler.addFilter(AllowedMethodsFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST))
.setInitParameter(AllowedMethodsFilter.ALLOWED_METHODS_PARAM, allowedMethodsParam);
if (enableThreadNameFilter) {
Expand All @@ -599,7 +597,7 @@ protected Handler createAppServlet(Server server,
if (registerDefaultExceptionMappers == null || registerDefaultExceptionMappers) {
jersey.register(new ExceptionMapperBinder(detailedJsonProcessingExceptionMapper));
}
handler.addServlet(new NonblockingServletHolder(jerseyContainer), jersey.getUrlPattern());
handler.addServlet(new ServletHolder("jersey", jerseyContainer), jersey.getUrlPattern());
}
final InstrumentedHandler instrumented = new InstrumentedHandler(metricRegistry);
instrumented.setServer(server);
Expand Down
Expand Up @@ -13,7 +13,12 @@
/**
* A {@link ServletHolder} subclass which removes the synchronization around servlet initialization
* by requiring a pre-initialized servlet holder.
*
* @deprecated If necessary, use {@link ServletHolder} or {@link org.eclipse.jetty.servlet.FilterHolder} directly.
* This class will be removed in Dropwizard 2.1.0.
*/
@SuppressWarnings("unused")
@Deprecated
public class NonblockingServletHolder extends ServletHolder {
private final Servlet servlet;

Expand Down
@@ -1,10 +1,10 @@
package io.dropwizard.jetty.setup;

import io.dropwizard.jetty.MutableServletContextHandler;
import io.dropwizard.jetty.NonblockingServletHolder;
import org.eclipse.jetty.security.SecurityHandler;
import org.eclipse.jetty.server.session.SessionHandler;
import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.resource.Resource;
import org.eclipse.jetty.util.resource.ResourceCollection;
Expand Down Expand Up @@ -43,9 +43,9 @@ public ServletEnvironment(MutableServletContextHandler handler) {
* configuration
*/
public ServletRegistration.Dynamic addServlet(String name, Servlet servlet) {
final ServletHolder holder = new NonblockingServletHolder(requireNonNull(servlet));
holder.setName(name);
handler.getServletHandler().addServlet(holder);
final ServletHolder holder = new ServletHolder(name, servlet);
final ServletHandler servletHandler = handler.getServletHandler();
servletHandler.addServlet(holder);

final ServletRegistration.Dynamic registration = holder.getRegistration();
checkDuplicateRegistration(name, servlets, "servlet");
Expand All @@ -61,9 +61,9 @@ public ServletRegistration.Dynamic addServlet(String name, Servlet servlet) {
* @return a {@link javax.servlet.ServletRegistration.Dynamic} instance allowing for further configuration
*/
public ServletRegistration.Dynamic addServlet(String name, Class<? extends Servlet> klass) {
final ServletHolder holder = new ServletHolder(requireNonNull(klass));
holder.setName(name);
handler.getServletHandler().addServlet(holder);
final ServletHolder holder = new ServletHolder(name, klass);
final ServletHandler servletHandler = handler.getServletHandler();
servletHandler.addServlet(holder);

final ServletRegistration.Dynamic registration = holder.getRegistration();
checkDuplicateRegistration(name, servlets, "servlet");
Expand Down
Expand Up @@ -21,6 +21,7 @@

public class NonblockingServletHolderTest {
private final Servlet servlet = mock(Servlet.class);
@SuppressWarnings("deprecation")
private final NonblockingServletHolder holder = new NonblockingServletHolder(servlet);
private final Request baseRequest = mock(Request.class);
private final ServletRequest request = mock(ServletRequest.class);
Expand Down

0 comments on commit cfbf22f

Please sign in to comment.