[SPRING] Spring @Async 한계 스레드 수
SPRINGSpring @Async 한계 스레드 수
내 질문은이 질문과 매우 비슷하다. @Async는 다른 스레드가 끝날 때까지 스레드가 계속되는 것을 막는다.
기본적으로 더 많은 스레드에서 수백 개의 계산을 실행해야합니다. 예를 들어 병렬 스레드의 일부만 실행하려고합니다. paralell에서 5 계산 5 스레드.
나는 스프링 프레임 워크를 사용하고 @Async 옵션은 자연스러운 선택이다. 전체 기능을 갖춘 JMS 대기열이 필요하지 않습니다. 이는 저에게 약간의 오버 헤드입니다.
어떤 아이디어? 고맙습니다
해결법
-
==============================
1.Task Executor를 체크 아웃 했습니까? 작업을 실행할 최대 스레드 수와 함께 스레드 풀을 정의 할 수 있습니다.
Task Executor를 체크 아웃 했습니까? 작업을 실행할 최대 스레드 수와 함께 스레드 풀을 정의 할 수 있습니다.
@Async와 함께 사용하려면 spring-config에서 사용하십시오.
<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/> <task:executor id="myExecutor" pool-size="5"/> <task:scheduler id="myScheduler" pool-size="10"/>
전체 참조는 여기 (25.5.3). 희망이 도움이됩니다.
-
==============================
2.Spring의 자바 설정을 사용한다면 설정 클래스는 AsyncConfigurer를 구현해야한다.
Spring의 자바 설정을 사용한다면 설정 클래스는 AsyncConfigurer를 구현해야한다.
@Configuration @EnableAsync public class AppConfig implements AsyncConfigurer { [...] @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(2); executor.setMaxPoolSize(5); executor.setQueueCapacity(50); executor.setThreadNamePrefix("MyExecutor-"); executor.initialize(); return executor; } }
자세한 내용은 @EnableAsync 문서를 참조하십시오. http://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/scheduling/annotation/EnableAsync.html
from https://stackoverflow.com/questions/13206792/spring-async-limit-number-of-threads by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] java로 데이터베이스 리스너를 만드는 방법은? (0) | 2019.01.19 |
---|---|
[SPRING] HQL 쿼리에서 Hibernate 테이블 매핑 오류가 발생했습니다. (0) | 2019.01.19 |
[SPRING] "일치하는 와일드 카드는 엄격하지만 'http'요소에 대한 선언을 찾을 수 없습니다."오류 (0) | 2019.01.18 |
[SPRING] 오류 발생 [javax.persistence.EntityManagerFactory] 유형의 정규 Bean이 정의되지 않았습니다. 예상되는 단일 일치하는 bean이지만 발견 됨 2 (0) | 2019.01.18 |
[SPRING] 자동 와이어 링 및 고유 빈 없음의 문제점 (0) | 2019.01.18 |