web.
675
2020-09-15 16:33:33 작성 2020-09-15 17:33:13 수정됨
2
108

Spring Quartz 질문입니다.


안녕하세요.


현재 Spring Quartz를 사용중인데

was가 두대라면 설정을 어떻게 해야하는지 궁금합니다.


현재 운영중인 소스에는 was 1번에서만 스케줄이 돌고있는것 같은데..  

이런부분은 따로 설정해야하는건가요.??


설정을 해줘야한다면 어디에 설정을 하는지

또는 검색 키워드라도 알려주시면 감사하겠습니다. 


도움 부탁드립니다.


구글링 암만해봐도 잘 모르겠네요.


=======================================

아.. 그리구 제가 로그를 까봤는데  아래처럼 00시00분00초에 insert 실행되고

00시00분08초에 insert쿼리가 한번 더 쌓이면서 제약조건때문에 오류가나더라구요

이런경우는 쿼리가 두번 실행이 된건가요.??? 

00:00:00,006 INFO  [stdout] (Scheduler_Worker-9) 2020-09-15 00:00:00,006  INFO [jdbc.sqlonly] /*webLogDAO.insertLog*/

insert into a() values ();


00:00:08,774 INFO  [stdout] (Scheduler_Worker-9) 2020-09-15 00:00:00,006  INFO [jdbc.sqlonly] /*webLogDAO.insertLog*/

insert into a() values ();

00:00:08,775 INFO  [stdout] (Scheduler_Worker-9) org.postgresql.util.PSQLException:ERROR: duplicate key value violates unique constraint "weblog_pkey"




was 1번에만 위와 같이 0초 , 8초에 2번 실행이 되고 

was 2번에는 아예 스케줄 실행된 로그가 없네요.. 



////

추가정보 더 남깁니당..

현재 jboss사용중이구 jenkins 이용해서 war로 말아서 배포하고 있어요

was1 was2에 모두 똑같은 war 파일로 배포하는거라 

was2번만 쿼츠부분 주석처리한다거나 하는 방법은 사용 안하고 있습니다.



0
  • 답변 2

  • 유도지
    6
    2020-09-16 02:57:31
    spring quartz cluster 라고 검색해보시면 관련 내용이 나올겁니다.
    두개의 was가 하나의 DB를 바라보고 있는 환경이라면
    quartz jobstore 관련 테이블스키마를 넣을수 있는데요.
    각각의 was에 인스턴스 id를 부여해서 스케줄러 작동시 하나의 was에서만 실행할 수 있게 해줍니다. 
  • web.
    675
    2020-09-17 13:39:58

    ㅜㅜ 몇일간 겁나 찾아봤지만 해당부분은 아니네요..


  • 로그인을 하시면 답변 을 등록할 수 있습니다.