2017-05-15 8 views
1

특정 시간대에 특정 Java 프로그램을 실행해야하며 다음 특정 시간대에 실행되도록 다음 코드를 수정해야합니다.java scheduledExecutor 서비스를 사용하여 특정 시간에 Java 코드를 실행할 수 있습니까?

private final static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); 

public static void main(String args[]) { 
    final Runnable beeper = new Runnable() { 
     public void run() { 
      System.out.println("beep"); 
     } 
    }; 

    final ScheduledFuture<?> beeperHandle = scheduler.scheduleAtFixedRate(beeper, 0, 1, SECONDS); 
    scheduler.schedule(new Runnable() { 
     public void run() { 
      beeperHandle.cancel(true); 
     } 

    }, 60 * 60, SECONDS); 
} 

답변

0

당신은이 호출 신호음마다에 실제 시간을 확인 만 요구 hosr에서 경고음 수 있습니다 : 당신은 끝난 ScheduledExecutorService를 사용할 필요가

public void run() { 
    if (Calendar.getInstance().get(Calendar.HOUR_OF_DAY) == REQUESTED_HOUR) { 
      System.out.println("beep"); 
    } 
1

? 특정 시간에 작업을 예약하는 것은 좋지 않습니다. 지연/반복 동작에 사용되는 기능입니다. Quartz 보셨습니까? 문서에는 좋은 예제가 있으며 라이브러리를 통해 작업 시간을 매우 구체적으로 지정할 수 있습니다.

  • quartz doc ex2
  • // 편집 quartz doc ex1

    +0

    석영 스케쥴러에서 cron 작업을 사용하여 GET 요청을 보낼 수 있습니까? 그렇다면 샘플 코드를 제공해 줄 수 있습니까? –