java - Spring Boot 将嵌入式 servlet 定制器复制到管理端口
问题描述
我有一个自定义WebServerFactoryCustomizer
,但它不适用于管理端口。使自定义可用于管理端口上的服务器的最佳方法是什么?常规服务器在端口 = 8080 上,管理服务器在端口 = 8082 上。
我试着玩弄,ServletManagementWebServerFactoryCustomizer
但没有用。任何指针将不胜感激。
这是自定义程序(禁用 Undertow 的 TRACE)
public class UndertowCustomizer implements
WebServerFactoryCustomizer<ConfigurableUndertowWebServerFactory> {
@Override
public void customize(final ConfigurableUndertowWebServerFactory undertowWebServerFactory) {
undertowWebServerFactory.addDeploymentInfoCustomizers(deploymentInfo ->
deploymentInfo.addInitialHandlerChainWrapper(handler ->
new DisallowedMethodsHandler(handler, HttpString.tryFromString(HttpMethod.TRACE.name())))
);
}
}
解决方案
事实上,我也觉得缺乏关于这个主题的信息,但我能够通过遵循文档添加自定义端点来让它工作
你能做的就是把定制器放在spring.factories
org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration=UndertowCustomizer
此类的 javadocs 也可能会有所帮助ManagementContextConfiguration
推荐阅读
- angular - 仅在 Angular 的登录组件中显示 reCaptcha V3
- python-3.x - 在python中合并dicts列表
- ios - 隐藏 UICollectionViewCell 拖动预览
- python - 使用 pyqt5 制作简单的聊天机器人,无需按钮
- python - __init__ 调用要修改的函数时如何进行子类化
- c# - 语音识别语法的 InvalidOperationException
- sql - SQL迁移——将数据移动到另一个表并获取主键
- reactjs - 尝试迭代 Object 时出现意外令牌
- java - 针对目录遍历进行测试
- azure - Azure 如何通过 VNET 内的私有 IP 调用内部 API 管理服务