我正在做一个项目,我需要所有 API 调用的时间少于 1 秒,但我面临的问题是,对每个路由的第一次调用比以下路由慢。
目前,对 /login 的第一次调用需要 3.6 秒,接下来的调用需要 170 毫秒,所有其他路由都相同。
我发现-XX:+TraceClassLoading在第一次调用时使用它,类被加载到内存中,这导致了性能问题。
但是,我没有找到在启动时加载所有类的简单方法,对于每个新服务,我需要在 ApplicationRunner 中添加一个预热调用。
有没有人有自动加载 SpringBoot 应用程序的类或预热其所有路由的解决方案?
我正在尝试使用 Cypress 测试 VueJs 应用程序。
一切正常,除了 websocket 连接失败并显示以下消息:
Error during WebSocket handshake: 'Sec-WebSocket-Accept' header is missing
在开发或部署中,它可以正常工作,并且存在“Sec-WebSocket-Accept”标头,但不知道为什么 Cypress 会失败。
任何想法?
我正在尝试使用 Mockito MockedStatic 来模拟静态方法。
我将mockito-core和mockito-inline版本3.6.0与Spring Boot和maven一起使用。
我无法使模拟工作,我有一个“无法解析方法帖子”,Unirest::post您可以在下面的代码中看到:
@Test
public void test() {
try (MockedStatic<Unirest> mock = Mockito.mockStatic(Unirest.class)) {
mock.when(Unirest::post).thenReturn(new HttpRequestWithBody(HttpMethod.POST, "url"));
}
}
Run Code Online (Sandbox Code Playgroud)
Unirest 类来自unirest-java包。
有人遇到过这个问题并有解决方案吗?
spring-boot ×2
cypress ×1
java ×1
mocking ×1
mockito ×1
performance ×1
spring ×1
testing ×1
vue.js ×1
websocket ×1