본문 바로가기

scope2

[Spring] bean scope prototype TroubleShooting (feat, connection) 빈 생명주기에 관해서 그래도 기본은 알고있다고 생각했는데 큰 오산이었다. 운영에 반영을 했는데 몇 일 뒤 최대 Connection을 초과해서 장애가 발생하였다. 원인은 Connection close가 되지 않아서였다. AS-IS TO-BE 왜?? 소스를 어떻게 짰길래?? 샘플 소스로 확인해보자. AServiceImpl는 매번 새로운 커넥션을 맺고 사용이 끝나면 자원을 close 하는 역할을 하고 있다. common.xml에 Impl 클래스를 prototype으로 빈을 등록해놓았다. 그리고 다른 클래스에서 매번 새로운 인스턴스로 사용하기 위해서 beanFactory에서 getBean을 통해 직접 해당 클래스를 가져왔다. @Autowired private AutowireCapableBeanFactory be.. 2021. 1. 19.
C++ 범위 지정 연산자, ->기호, const 키워드 책의 예제를 따라하는 도중 C++의 문법이 기억나지 않아 막히는 경우가 많아 C++을 정리해가면서 봐야겠다. 범위지정 연산자(Scope Operator) :: 범위지정 연산자를 사용하는 곳은 1. classname:: 2. namespaceName:: 3. :: 이렇게 세가지가 있다. 2번 namespace = 영역구분을 말한다. 예를 들어 여러 사람이 코딩을 해서 변수나 클래스 이름이 같을 경우 namespace라는 키워드를 주어 영역을 구분한다. 3번 ::은 현재 존재하는 모든 전역함수, 전역변수들을 지역변수와 구분지어 사용한다. c++에서 -> 기호의 의미 : 포인터 변수의 값을 참조하기 위한 연산자 라는 구조체를 struct A *B와 같이 포인터로 선언하면 B가 포인터이기 때문에 B->a라고 해.. 2018. 3. 13.