업무일지/기술

[Java]Timer 제 시간에 실행 못하던 버그

_leezoee_ 2022. 4. 25. 11:34

통신드라이버에서 10초마다 실행되어야 하던 타이머가 제 때 실행 못하는 버그 발생.

타이머는 여러개 쓰고있었는데 문제가 관측 된 타이머는 A

 처음에 타이머 개수가 많아서 그런가? (원래 타이머는 많이쓰면 안좋다고는 하지만) 해서 나머지를 주석했는데 별 차이 없음을 관측.

그러다 C 타이머 주석하니까  (3초마다 DataBase 확인하는 타이머) 빨라지는거 확인.

보니까 안에 select 구문이 너무 많은 데이터를 불러왔다 where 절에 별 다른 조건이 없었음....

Connection Pool에서 커넥션을 끌어 다 쓰는 구조였는데 여기서 뭔가 딜레이가 생긴 듯 하다

적절한 where 절을 넣어주니 다시 문제 없이 동작!

 

모든 select 구문에는 적절한 조건을 넣어주자는 교훈..