복붙노트

[SPRING] prototype으로 등록 된 bean에서 destroy-method가 호출되지 않습니다.

SPRING

prototype으로 등록 된 bean에서 destroy-method가 호출되지 않습니다.

bean을 singleton으로 등록하고 init-method와 destroy-method를 정의했다. 나는 빈에 접근 중이며 두 가지 메소드에 대한 호출을 볼 수있다. 그러나 프로토 타입으로 범위를 변경하면 destroy-method가 호출되지 않습니다.

나는 이것에 대한 근거를 얻지 못하고있다.

해결법

  1. ==============================

    1.설명서를 읽으십시오.

    설명서를 읽으십시오.

    그리고 그것은 매우 논리적입니다. 애플리케이션이 10 밀리 초마다 프로토 타입 빈의 새로운 인스턴스를 요청하고, 빈을 사용하여 무언가를 한 다음, 범위를 벗어나게 할 수 있습니다. 응용 프로그램이 종료 될 때 Spring이 파괴해야한다면, 생성 된 모든 프로토 타입 bean에 대한 참조를 유지해야합니다. 따라서 이들을 가비지 수집하여 메모리 누수를 일으킬 수 있습니다.

  2. from https://stackoverflow.com/questions/23442512/destroy-method-not-invoked-on-beans-registered-as-prototype by cc-by-sa and MIT license