[SPRING] Spring 3.0을 사용하는 메소드에 @Async를 사용할 때 타임 아웃 값 제공하기
SPRINGSpring 3.0을 사용하는 메소드에 @Async를 사용할 때 타임 아웃 값 제공하기
문서를 살펴 보았지만 Spring 3.0을 사용하여 @Async annotated 메소드를 사용할 때 생성되는 비동기 연산에 대한 시간 초과를 지정하는 방법이 있는지 찾을 수 없습니다.
그렇게 할 수있는 방법이 있습니까? 비동기 계산을 트리거 할 때마다 이것이 필수적이라고 생각합니다.
해결법
-
==============================
1.타임 아웃은 @Async 주석에 의해 제공되지 않습니다. 타임 아웃은 함수 자체가 아니라 함수 호출자가 결정해야하기 때문입니다.
타임 아웃은 @Async 주석에 의해 제공되지 않습니다. 타임 아웃은 함수 자체가 아니라 함수 호출자가 결정해야하기 때문입니다.
결과를 반환하는 @ Async-annotated 메서드에서 타임 아웃을 참조한다고 가정합니다. 이러한 메소드는 Future의 인스턴스를 리턴해야하고 Future의 get () 메소드는 시간 초과를 지정하는 데 사용됩니다.
e.
@Async public Future<String> doSomething() { return new AsyncResult<String>("test"); }
그리고
Future<String> futureResult = obj.doSomething(); // spring makes this an async call String result = futureResult.get(1, TimeUnit.SECOND);
-
==============================
2.@Async 소스 코드에는 구성 옵션이 없습니다.
@Async 소스 코드에는 구성 옵션이 없습니다.
from https://stackoverflow.com/questions/3785197/providing-a-timeout-value-when-using-async-for-a-method-using-spring-3-0 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 부트 오류 : java.lang.NoSuchMethodError : org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter (0) | 2019.02.08 |
---|---|
[SPRING] Spring WebFlux 웹 클라이언트에서 시간 제한 설정 (0) | 2019.02.08 |
[SPRING] @PropertySource의 클래스 패스 와일드 카드 (0) | 2019.02.08 |
[SPRING] 환경 변수를 통해 이름에 밑줄이있는 Spring Boot 속성을 설정하는 방법은 무엇입니까? (0) | 2019.02.08 |
[SPRING] 스프링 MVC 기반 REST 서비스에 다중 / 혼합 요청을 보낼 수 없습니다. (0) | 2019.02.07 |