반복적인 비동기 요청 시간 초과Spring Boot 관리 로그에서 예외 발생
현재 테스트 목적으로 로컬 컴퓨터에서 Spring Boot Admin을 실행하고 있는데 다음 오류가 계속 발생하고 있습니다.애플리케이션 자체는 정상적으로 작동하는 것처럼 보이지만, 제 로그는 이러한 오류로 가득 차 있습니다.왜 그런지는 모르겠지만,
org.springframework.web.context.request.async.AsyncRequestTimeoutException: null
at org.springframework.web.context.request.async.TimeoutDeferredResultProcessingInterceptor.handleTimeout(TimeoutDeferredResultProcessingInterceptor.java:42) ~[spring-web-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.web.context.request.async.DeferredResultInterceptorChain.triggerAfterTimeout(DeferredResultInterceptorChain.java:75) ~[spring-web-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.web.context.request.async.WebAsyncManager$5.run(WebAsyncManager.java:392) ~[spring-web-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.springframework.web.context.request.async.StandardServletAsyncWebRequest.onTimeout(StandardServletAsyncWebRequest.java:143) ~[spring-web-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
at org.apache.catalina.core.AsyncListenerWrapper.fireOnTimeout(AsyncListenerWrapper.java:44) ~[tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.catalina.core.AsyncContextImpl.timeout(AsyncContextImpl.java:131) ~[tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:157) ~[tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:228) [tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) [tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) [tomcat-embed-core-8.5.5.jar!/:8.5.5]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.5.jar!/:8.5.5]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.5.jar!/:8.5.5]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
나도 비슷한 오류가 있었습니다. 당신의 application.yml에서 이 속성을 시도해 보세요.
spring:
mvc:
async:
request-timeout: -1
또는 스프링 부트 없이 추가
@Override
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
long timeout = 5 * 60 * 1000;// for example 5 minutes
WebMvcConfigurer.super.configureAsyncSupport(configurer);
configurer.setDefaultTimeout(timeout);
}
WebMvcConfigurer를 구현하는 구성 클래스로
사용하는 경우ComplatebleFuture<Any>
의 반환 형식으로@RestController
기능 및 Tomcat을 백업 컨테이너로 사용합니다.그런 다음 커넥터 커스터마이저를 스프링 컨텍스트에 등록해야 합니다. 그러면 비동기 연결 시간 초과가 조정됩니다.왜냐면org.apache.catalina.connector.Connector
고유한 속성이 있습니다.protected long asyncTimeout = 30000;
비동기 요청의 시간 초과로 사용됩니다.
@Configuration
class TomcatAsyncConfig {
@Bean
fun asyncTimeoutCustomize(): TomcatConnectorCustomizer =
TomcatConnectorCustomizer { connector -> connector.asyncTimeout = 180000 }
}
값 수정spring.mvc.async.request-timeout: -1
또는server.tomcat.connection-timeout
안 됩니다.
응용 프로그램 수준에서 시간 초과를 구성하는 대신 특정 구독에 대한 시간 초과를 구성할 수 있습니다.
@GetMapping(value = "/subscription")
public SseEmitter subscription() {
SseEmitter emitter = new SseEmitter((long) (60000 * 5));
return emitter;
}
그래서 위의 발췌문에서, 저는 이 특정한 연결을 위해 5분을 주었습니다.나머지 연결은 여전히 서버 기본 시간 제한을 사용합니다.
언급URL : https://stackoverflow.com/questions/39856198/recurring-asyncrequesttimeoutexception-in-spring-boot-admin-log
'programing' 카테고리의 다른 글
.springBeans 파일은 무엇입니까? (0) | 2023.07.04 |
---|---|
Adonis 컨트롤러를 사용하여 만들어진 경로에서 Vue 구성 요소에서 axios 요청을 만들려면 어떻게 합니까? (0) | 2023.07.04 |
SQL Server 2005의 VARBINARY 필드 크기 (0) | 2023.06.29 |
개체 리터럴의 키를 유형 스크립트 유형으로 사용하시겠습니까? (0) | 2023.06.29 |
Meteor에 $currentDate to MongoDB 컬렉션이 있는 필드 삽입 (0) | 2023.06.29 |