winepye
275
2016-09-21 09:46:01
4
3795

안녕하세요.스프링 스케쥴러 중복실행 문제 ㅠㅠ


spring 버전은 3.0 사용하고있습니다.

xml 설정은 

<task:scheduler id="jobScheduler" pool-size="10" />

<task:annotation-driven scheduler="jobScheduler" />


java 에서는 /@Scheduled 사용해서 정말 간단하게 돌리고있습니다.


근데 문제는 로컬/개발 서버에서는 정상작동하는데 꼭 운영에 올라가면 중복실행이됩니다.


현재 운영서버는 4개의 서비스가 각각 서브도메인으로 올라가있습니다.


기존에 4번씩 실행됬었는데 ,  1차 조치로 server.xml 에 선언한 서브도메인 host테그에 각각

appbase = "" 로 수정하고

context docbase = "webapps/serviceName" 이런식으로 수정했습니다.


그결과 4번실행되던게 2번으로 줄어들긴했습니다. 


2번 중복실행 문제가 정말 어떤부분때문인지 감이 안옵니다. ㅠㅠ

도와주세요~


0
0
  • 답변 4

  • Applecode
    1k
    2016-09-21 10:52:01

    https://groups.google.com/forum/#!topic/ksug/r9Lk_xfxnj0

    여기 한번 참고해보세요.

    0
  • 쨍규
    2
    2018-04-11 09:52:23

    같은 증상인데 혹시 이부분 해결되셨나요..

    로컬에서는 정상 작동하는데 aws linux 에 올리면 2번씩 실행되네요.

    0
  • sya
    44
    2018-12-07 18:14:51

    혹시 해결못하고 이 페이지 찾아오시는분 계실까봐 댓글 남기고 갑니다.


    context에서 스케줄러 빈 등록하고


    @Component 등 어노테이션 선언하고 context scan되면


    빈이 두번 선언되서 중복 실행됩니다.

    0
  • 수풀
    62
    2019-08-09 12:18:15

    저두 aws에 실행 두번 되는데 결국 해결 못하고

    리눅스 crontab 에서 url 때리는걸로 해결 했네요.

    톰켓이 두번 로딩시키는것 같더군요.

    이걸 못잡겠더군요..


    spring boot 1.5  batch 였습니다.

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