특정 사이트에서 어떤 프로세스를 수행하는 버튼을 한번만 눌렀는데 프로세스가 두번 연속으로 수행된 적이 있었다.

실제 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

+ Recent posts