[SPRING] Spring 구성 요소 스캔의 성능은 스캔 한 패키지의 크기에 좌우됩니까?
SPRINGSpring 구성 요소 스캔의 성능은 스캔 한 패키지의 크기에 좌우됩니까?
우리의 응용 프로그램에서 구성 요소 검사와 관련된 성능 문제가 발생했습니다. 상당히 느리고 성능은 스캔 한 패키지의 클래스 수에 의존하지 않습니다.
우리의 sping 설정 파일에서 다음과 같은 각 라인 :
<context:component-scan base-package="foo.bar" />
우리 응용 프로그램의 시작 시간을 2 분 늘립니다. 스캔 한 패키지의 클래스 수는 중요하지 않습니다. 10 및 1k 클래스 패키지 모두에서 동일한 지연이 발생합니다.
구성 요소 스캔의 성능이 스캔 한 패키지의 크기에 의존하지 않는 이유는 무엇입니까?
우리는 스프링 빈 생성을 위해 혼합 된 접근 방식을 사용하고 있습니다. 우리는 xml 정의와 구성 요소 스캔을 모두 사용합니다. 그러한 행동의 원인이 될 수 있습니까?
해결법
-
==============================
1.Spring이하는 일은 컴포넌트 스캔에서 제공하는 패키지의 모든 클래스를 통과하는 것입니다. 클래스에 컴포넌트, 저장소 또는 서비스가 있으면 클래스에 컨텍스트를 등록합니다. 따라서 수업의 수는 중요합니다. 주석이 달린 클래스가 포함 된 패키지 만 검사해야합니다 (주석이 달린 클래스를 검색하는데도 시간이 걸립니다). 또한 하나의 구성 요소 스캔 태그 만 사용하고 모든 패키지를 나열 할 수 있습니다. xml과 구성 요소 검사를 모두 사용하면 복제하지 않는 한 문제가되지 않습니다.
Spring이하는 일은 컴포넌트 스캔에서 제공하는 패키지의 모든 클래스를 통과하는 것입니다. 클래스에 컴포넌트, 저장소 또는 서비스가 있으면 클래스에 컨텍스트를 등록합니다. 따라서 수업의 수는 중요합니다. 주석이 달린 클래스가 포함 된 패키지 만 검사해야합니다 (주석이 달린 클래스를 검색하는데도 시간이 걸립니다). 또한 하나의 구성 요소 스캔 태그 만 사용하고 모든 패키지를 나열 할 수 있습니다. xml과 구성 요소 검사를 모두 사용하면 복제하지 않는 한 문제가되지 않습니다.
from https://stackoverflow.com/questions/19314922/does-performance-of-spring-component-scan-depend-on-the-size-of-the-scanned-pack by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 부트 및 maven exec 플러그인 문제 (0) | 2019.04.17 |
---|---|
[SPRING] Spring DATA JPA로 커스텀 질의 생성하기? (0) | 2019.04.17 |
[SPRING] Spring 데이터 나머지 - 중첩 된 속성별로 정렬 (0) | 2019.04.17 |
[SPRING] Hibernate는 폐 대신 BigInteger를 리턴한다. (0) | 2019.04.17 |
[SPRING] Spring RabbitMQ로 새로운 큐를 생성하는 방법? (0) | 2019.04.17 |