타이머잡을 하루마다 돌릴게 있어서
근데 이게
탐캣이
"INFO : org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'appServlet': initialization completed in ~ms"
할때 한번 생성하고
"정보: Server startup in ~ ms"
할때 또 한번 생성함
결국 쓰레드 두개가 몇초 차이로 두번 돌아감......미침..
윈7 이클립스 로컬에선 안그러는데 레드햇 서버에 올리면 그럼.
스태틱 변수 하나 생성해서 false일때만 생성하고
생성한 후 true 만들어주는 방법 써도 소용없더라
우짜노 하나만 생성하고 싶은데
그건 was 설정으로 해결해야할 문제로 보이는데 ㅇㅇ
일반적인 workaround는 스레드 생성시 k.lock이라는 이름의 파일이 존재하는지 확인해서 있으면 스레드 생성 안하고 skip함. 파일이 없으면 파일부터 생성하고 스레드 스타트시킴. 간발의 차이로 둘 다 파일이 없음을 확인하고 스레드 생성 단계에 들어갈 수 있으나 파일은 한놈만 생성하고 두번째놈은 파일 생성하다 io예외 받고 나가리됨.
먼말임? 근데 왜 나는 계속 두개 같이 돌아?..