配置Web服务器之后,我添加了一个NettyWebServerFactoryCustomizer
@Configuration
public class NettyWebServerFactoryCustomizer implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
@Override
public void customize(NettyReactiveWebServerFactory factory) {
factory.addServerCustomizers(httpServer -> {
return httpServer
.wiretap(true)
.metrics(true, s->s)
.doOnConnection(conn -> {
conn.addHandlerFirst(new ReadTimeoutHandler(50, TimeUnit.MILLISECONDS));
});
});
}
}
我有两个问题:
1.当我运行应用程序时,customize
功能未被点击。我想念哪里?我的目的是启用Netty度量,但在application.yml
文件中找不到任何关于配置度量的文档。所以我加上NettyWebServerFactoryCustomizer
。
1..metrics(true, s->s)
的第二个参数是uriTagValue
,是否有关于如何传入值的示例?我只是使用s->s
,因为我指的是this,但这可能无法避免cardinality explosion,是否有类似ServerWebExchange.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE)
的简单函数为我们提供模板URL?
2条答案
按热度按时间qgelzfjb1#
我找到了问题1的解决方法:定义bean而不是实现WebServerFactoryCustomizer
ryoqjall2#
关于您的问题2:.metrics的第二个参数(true,s->s)是uriTagValue,是否有关于如何传入值的示例*