특정 사이트에서 어떤 프로세스를 수행하는 버튼을 한번만 눌렀는데 프로세스가 두번 연속으로 수행된 적이 있었다.
실제 tomcat의 localhost_access_log를 확인해보았는데 컨트롤러가 같은 시간에 두번 연속으로 요청이 된 것을 확인할 수 있었다.
이러한 현상을 방지하기 위해 특정 시간동안 프로세스가 한번만 수행할 수 있도록 프론트 단을 수정하였다.
<예제 샘플>
var timer; $("#bt").click(function () { if(confirm("실행하시겠습니까?")){ if(timer){ clearTimeout(timer); } timer = setTimeout(function(){ //수행될 프로세스를 입력하는 곳 },200); //2초 동안 재 수행되는 것을 방지 } });
위와 같이 수행될 프로세스를 넣어주면 2초동안 연속으로 수행되는 것을 막아줄 수 있다.(시간은 상황에 맞게 변경하면 되겠다.)
'spring' 카테고리의 다른 글
spring quartz 스케쥴링 java config (3) | 2019.02.15 |
---|---|
spring 스케쥴링 설정 (0) | 2019.02.12 |
spring mybatis 게시판 (1) | 2019.02.12 |
spring mybatis 셋팅 (0) | 2019.02.11 |