提交 05a09d25 编写于 作者: X Xavier Léauté

allow overriding coordinator static resource

上级 e1d87ed5
......@@ -59,4 +59,10 @@ public abstract class DruidCoordinatorConfig
{
return new Duration(15 * 60 * 1000);
}
@Config("druid.coordinator.console.static")
public String getConsoleStatic()
{
return null;
}
}
......@@ -108,7 +108,9 @@ public class CliCoordinator extends ServerRunnable
LifecycleModule.register(binder, DruidCoordinator.class);
binder.bind(JettyServerInitializer.class).toInstance(new CoordinatorJettyServerInitializer());
binder.bind(JettyServerInitializer.class)
.to(CoordinatorJettyServerInitializer.class);
Jerseys.addResource(binder, BackwardsCompatibleInfoResource.class);
Jerseys.addResource(binder, InfoResource.class);
Jerseys.addResource(binder, BackwardsCompatibleCoordinatorResource.class);
......
......@@ -19,9 +19,11 @@
package io.druid.cli;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.servlet.GuiceFilter;
import io.druid.server.coordinator.DruidCoordinator;
import io.druid.server.coordinator.DruidCoordinatorConfig;
import io.druid.server.http.RedirectFilter;
import io.druid.server.initialization.JettyServerInitializer;
import org.eclipse.jetty.server.Handler;
......@@ -32,11 +34,20 @@ import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.servlets.GzipFilter;
import org.eclipse.jetty.util.resource.Resource;
/**
*/
class CoordinatorJettyServerInitializer implements JettyServerInitializer
{
private final DruidCoordinatorConfig config;
@Inject
CoordinatorJettyServerInitializer(DruidCoordinatorConfig config)
{
this.config = config;
}
@Override
public void initialize(Server server, Injector injector)
{
......@@ -45,7 +56,12 @@ class CoordinatorJettyServerInitializer implements JettyServerInitializer
ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class);
root.addServlet(holderPwd, "/");
root.setResourceBase(DruidCoordinator.class.getClassLoader().getResource("static").toExternalForm());
if(config.getConsoleStatic() == null) {
root.setBaseResource(Resource.newClassPathResource("static"));
} else {
root.setResourceBase(config.getConsoleStatic());
}
root.addFilter(new FilterHolder(injector.getInstance(RedirectFilter.class)), "/*", null);
root.addFilter(GzipFilter.class, "/*", null);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册