본문 바로가기
springframework

스프링 스케쥴러를 통한 [cpu,memory] 배치 시스템 만들기

by blog-yj 2020. 6. 2.


스프링 스케쥴러를 통한 [cpu,memory] 정보 배치 시스템 만들기


안녕하세요 개발을 하다보면 배치시스템을 만들어야 할 때가 오는데 

해본적도 없고 막막하실텐데요.


오늘은 배치시스템을 만들어보겠습니다.


window의 cpu, memory 데이터를 10초 단위로 가져와 

1분, 5분, 1시간, 1일 1달 통계로 일괄처리 하는것입니다.



제일 먼저... 해야 될것은 스케쥴러를 사용하기 위해 빈을 등록해야합니다.


저는 servlet-context.xml에 아래와 같이 등록했습니다.



다음은10초마다  window의 cpu, memory 데이터를 가져와 데이터베이스에 넣어보겠습니다.


우선 스케줄러를 사용할 클래스를 별도로 구성하여 메소드를 생성하겠습니다.

아래의  CronProcess는 공통으로 통계를 처리할 클래스입니다.


db작업을 처리할 worker Thread를 별도로 dao를 넘겨 생성하여 스타트합니다.



자바에서 제공하는  api를통하여 현재 컴퓨터의 cpu, memory 정보를 가져옵니다.



이곳에서 바로 쿼리를 셋팅해줍니다.



// 날짜 셋팅 


아래의  워커들에 대한 설명은 따로 하지않겠습니다. 소스보시면서 분석해주세요



데이터들이 10초마다 잘 쌓여있네요 ^^ 


클래스들도 많고 해서 설명을 일일이 적기가 힘들어서 살짝만 적었습니다. 대충 소스보시면서 분석이 충분히 가능하다고 보네요


이 글을 보고 따라하셨다면 1분, 5분,1시간, 1일, 1달 통계를 충분히 만드실 거라 생각이듭니다. 왜냐... 위에 소스에 정답이 있기 때문입니다


몇개만 추가해주면 다됩니다!!


혹시 잘 모르시겠으면 문의 주세요!