2017-05-15 1 views
0

이벤트 트리거에 대한 스케줄러를 사용하고 있습니다. 예약 된 시간 동안 서버가 다운되면 예약 된 작업이 실행되지 않습니다. 따라서 모든 서버를 시작할 때마다 이벤트를 트리거해야합니다. 그렇게 할 수있는 방법이 있습니까? 당신이 Windows에서 당신의 sheduled 작업을 실행하는 경우서버 시작 중에 작업 예약

+0

여기에 일종의 라이브러리를 사용하고 있습니까? 예 : 쿼츠 스케줄러, 아니면 그냥 자바 예약 된 작업을 사용하고 있습니까? – Petesh

+0

아니요 그런 라이브러리를 사용하고 있지 않습니다. 그냥 자바 예약 된 작업입니다. –

답변

0

당신은 두 가지 가능성

  1. 을 가지고, 당신은 당신이 리눅스를 사용하는 경우가 bash는 스크립트에서 작업을 실행해야, 작업 Sheduler
  2. 을 사용하고를 둘 수 있었다 경로를 /etc/rc.local에있는이 bash 스크립트에 추가하거나 서비스를 추가하십시오. 또 다른 가능성은 Cron Job을 사용하는 것입니다.
+0

그래, 우리는 작업 스케줄러를 사용할 수 있지만 내 질문은 예정된 시간 동안 서버가 다운되면 어떻게됩니까? 그 시점에서 작업 스케줄러는 레코드를 처리하지 못했습니다. –

+0

Windows 작업 Sheduler는 서버 시작 후 또는 로그온 후에 작업을 실행할 수 있습니다. –

0

우리는 스케줄 된 메소드를 직접 호출 할 수있는 스프링 애플리케이션 컨텍스트 시작 (ApplicationListener) 시간에 메소드를 실행할 수 있습니다. 따라서 서버가 시작될 때마다이 메소드가 실행되어 실제로 필요한 것을 수행 할 수 있습니다. 응답 해 주셔서 감사합니다.

0

서버 시작시 작업을 시작하려면 web.xml에서 <load-on-startup> any int value </load-on-startup>을 사용하십시오. 그것은 서블릿을 트리거합니다. 입력 한 입력 값은 시작할 작업의 우선 순위입니다. 따라서 서블릿 init 메소드에서 메소드를 호출 할 수 있습니다.

관련 문제