자기 혐오 개발자
Spring에서 Scheduler가 두 번 도는 경우. 중복 실행 본문
중복실행 되는 경우는 2개 임. (내 경험에서..)
톰캣의 server.xml에서
1. 한 개의 docBase를 두 개의 host가 바라보고 있는 경우.
2. 한 host에서 docBase나 appBase가 같은 곳을 바라보는 경우.
<Host name="www.호스트1.com" appBase="/project/폴더1/"
unpackWARs="true" autoDeploy="true">
<Alias>www.호스트1.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="앱명1" path="/" reloadable="true"/>
</Host>
<Host name="www.호스트2.com" appBase="/project/폴더2/"
unpackWARs="true" autoDeploy="true">
<Alias>www.호스트2.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="앱명1" path="/" reloadable="true"/>
</Host>
가끔 모든 서비스를 한 docBase에 넣고, 도메인만 따로 만들어서 쓰는 경우가 있었다. 그때 스케줄러가 두 번 돌았다.
그다음에
<Host name="www.호스트2.com" appBase="/project/폴더2/"
unpackWARs="true" autoDeploy="true">
<Alias>www.호스트2.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="앱명1" path="/" reloadable="true"/>
</Host>
여기서 docBase과 appBase가 같다.
그래서
appBase는 비우고, docBase만 남긴다. docBase에 war풀린 폴더 위치를 넣는다.
<Host name="www.호스트2.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Alias>www.호스트2.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="/war풀린위치" path="/" reloadable="true"/>
</Host>
'Java,JSP' 카테고리의 다른 글
[Java]Java에서 SFTP로 파일 전송 및 리눅스 명령어 실행 (0) | 2018.08.02 |
---|---|
file업로드시 이미지 미리 썸네일로 보여주기 (0) | 2018.06.15 |
수정된 jsp 파일이 적용되지 않을때. (0) | 2018.05.29 |
[Java]스프링 트랜잭션 Working Code (0) | 2018.05.21 |
[Java] Velocity. 스프링에 적용 (0) | 2018.05.18 |