【发布时间】:2015-12-03 21:03:39
【问题描述】:
我使用的是现代 Dropwizard (0.9.1),它默认将您的资源映射到面向公众的端口 8080,然后将一个特殊的 Admin Servlet 映射到不同的端口(默认为 8081)。我不想将管理面板放在端口 8081 上,而是将其全部映射到路由 /admin,以便所有管理资源都可以在该路径上公开访问(8080/admin/healthcheck、8080/admin/metrics 等)。我一直在梳理 Dropwizard 和 Jetty 的文档,但似乎无法弄清楚这一点。
我将此添加到配置文件中以尝试将普通应用程序和管理应用程序映射到同一个端口,但在应用程序启动时导致错误:
server:
adminContextPath: /admin
applicationConnectors:
- type: http
port: 8080
adminConnectors:
- type: http
port: 8080
在应用程序入口点run 方法中,我可以像这样访问“管理上下文”,但我不确定要对对象做什么:
MutableServletContextHandler mut = environment.getAdminContext();
// get something from mut object?
environment.servlets().addServlet("admin", mut).addMapping("/admin");
想法?
【问题讨论】:
标签: java servlets dropwizard