2015년 04월 21일 "Spring Scheduler(스케쥴러) 사용"에 관한 포스팅을 하였습니다.

포스팅 이동 : http://nightsun.tistory.com/entry/Spring-Scheduler스케쥴러-사용

 

개발 pc에서는 잘돌아가는데 서버나 테스트서버에 배포를 하여 실행을 하면

스케쥴이 동시에 두번 실행되는 문제가 발생하였다.

흠...왜 그럴까???

 

이것저것 찾아본 결과 2가지 해결책을 찾아 볼수 있었다.

환경은 Spring + tomcat

 

1) Spring 환경 설정의 문제

web.xml에서 Spring의 ContextLoader의 중복 문제이다.

웹어플리케이션 상에서 둘 이상의 Listener or Servlet을 등록때 하나의 context정보 파일을 두 번 이상 부르는 경우이다.

이건 환경설정을 할때 잘못 설정을 한것이고, 사용하는데는 문제가 되지 않지만, 스케쥴러와 같은 작업에서는 문제가 된다.

 

2) tomcat 환경 설정의 문제

C:\apache-tomcat-7.0.59\conf\server.xml 위치의 파일을 보면 하기와 같이 appBase와 docBase가 잡혀있다.

Host의 appBase는 여러 webapp들이 들어갈 부모 디렉토리이다.

Context의 docBase는 실제로 동작할 프로젝트 디렉토리이다.

 

<Host name="localhost" appBase="C:\apache-tomcat-7.0.59\webapps"
    unpackWARs="true" autoDeploy="false"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="C:\apache-tomcat-7.0.59\webapps/project" reloadable="false" />
< /Host>

 

상기의 <Host>~~~</Host>의 부분을 하기와 같이 바꿔주면 해결이 된다.

 

<Host name="localhost" appBase=""
    unpackWARs="true" autoDeploy="false"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="C:\apache-tomcat-7.0.59\webapps/project" reloadable="false" />
< /Host>

 

참으로 어렵다~~~ㅠ

+ Recent posts

 

2015년 04월 21일 "Spring Scheduler(스케쥴러) 사용"에 관한 포스팅을 하였습니다.

포스팅 이동 : http://nightsun.tistory.com/entry/Spring-Scheduler스케쥴러-사용

 

개발 pc에서는 잘돌아가는데 서버나 테스트서버에 배포를 하여 실행을 하면

스케쥴이 동시에 두번 실행되는 문제가 발생하였다.

흠...왜 그럴까???

 

이것저것 찾아본 결과 2가지 해결책을 찾아 볼수 있었다.

환경은 Spring + tomcat

 

1) Spring 환경 설정의 문제

web.xml에서 Spring의 ContextLoader의 중복 문제이다.

웹어플리케이션 상에서 둘 이상의 Listener or Servlet을 등록때 하나의 context정보 파일을 두 번 이상 부르는 경우이다.

이건 환경설정을 할때 잘못 설정을 한것이고, 사용하는데는 문제가 되지 않지만, 스케쥴러와 같은 작업에서는 문제가 된다.

 

2) tomcat 환경 설정의 문제

C:\apache-tomcat-7.0.59\conf\server.xml 위치의 파일을 보면 하기와 같이 appBase와 docBase가 잡혀있다.

Host의 appBase는 여러 webapp들이 들어갈 부모 디렉토리이다.

Context의 docBase는 실제로 동작할 프로젝트 디렉토리이다.

 

<Host name="localhost" appBase="C:\apache-tomcat-7.0.59\webapps"
    unpackWARs="true" autoDeploy="false"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="C:\apache-tomcat-7.0.59\webapps/project" reloadable="false" />
< /Host>

 

상기의 <Host>~~~</Host>의 부분을 하기와 같이 바꿔주면 해결이 된다.

 

<Host name="localhost" appBase=""
    unpackWARs="true" autoDeploy="false"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="C:\apache-tomcat-7.0.59\webapps/project" reloadable="false" />
< /Host>

 

참으로 어렵다~~~ㅠ

+ Recent posts