일요일 오전 12:01에 매주 일요일에 기능을 반복적으로 실행하면서 작동 중지/중지 시간 동안 최소 CPU를 사용합니까? Thread.sleep()
?Java : 매주 일요일 오전 12:01에 반복적으로 기능을 실행하려면 어떻게해야합니까?
0
A
답변
0
스프링 프레임 워크의 @Scheduled 주석을 사용하십시오. 오전 12시 1 분 매주 일요일 크론 식입니다 : 공공 무효 해봐요() {일주일에 한 번 실행 // 뭔가} 1 0 * * 0
@Scheduled (= "1 0 * * 0"크론)
0
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
class SundayRunner implements Runnable
{
private final Runnable target;
private final ScheduledExecutorService worker;
private volatile Date now;
SundayRunner(Runnable target, ScheduledExecutorService worker) {
this.target = target;
this.worker = worker;
}
@Override
public final void run()
{
if (now == null)
now = new Date();
else
target.run();
Date next = next(now);
long delay = next.getTime() - now.getTime();
now = next;
worker.schedule(this, delay, TimeUnit.MILLISECONDS);
}
Date next(Date now)
{
Calendar cal = Calendar.getInstance(Locale.US);
cal.setTime(now);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 1);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date sunday;
for (sunday = cal.getTime(); sunday.before(now); sunday = cal.getTime())
cal.add(Calendar.DATE, 7);
return sunday;
}
public static void main(String... argv)
{
ScheduledExecutorService worker =
Executors.newSingleThreadScheduledExecutor();
Runnable job = new Runnable() {
@Override
public void run()
{
System.out.printf("The time is now %tc.%n", new Date());
}
};
worker.submit(new SundayRunner(job, worker));
}
}
의
관련 문제
- 1. 매주 일요일
- 2. DAYOFWEEK, 매주 일요일
- 3. MySQL의 이벤트 일정 매주 일요일
- 4. UILocalNotification 매주 토요일 오전 12시
- 5. PHP - 매주 특정 시간에 변수를 반복적으로 줄이는 방법은 무엇입니까?
- 6. 효율적으로 이진 트리의 삽입 기능을 실행하려면 어떻게해야합니까?
- 7. rhino로 jshint를 실행하려면 어떻게해야합니까?
- 8. 매주 일요일 또는 특정 요일에 계산 항목이 열림
- 9. emberjs보기에서 사용자 정의 JavaScript를 실행하려면 어떻게해야합니까? 내가 emberjs에 새로운 오전
- 10. Cygwin에서 .java 코드를 실행/실행하려면 어떻게해야합니까?
- 11. JSP 페이지의 인수로 Java 클래스를 실행하려면 어떻게해야합니까?
- 12. Eclipse에서 핵심 Java 클래스 메소드를 실행하려면 어떻게해야합니까?
- 13. Java JDK없이 Runnable Jar 파일을 실행하려면 어떻게해야합니까?
- 14. cloudhopper 데모를 Java 응용 프로그램으로 실행하려면 어떻게해야합니까?
- 15. 다른 디렉토리에서 Java 프로그램을 실행하려면 어떻게해야합니까?
- 16. Java 언어에 기능을 추가하려면 어떻게해야합니까?
- 17. 기능을 Java 클래스로 나누려면 어떻게해야합니까?
- 18. Snappy없이 OrientDB를 실행하려면 어떻게해야합니까?
- 19. 그룹 매월 일요일?
- 20. Java에서 외부 프로그램을 실행하려면 어떻게해야합니까?
- 21. 내 웹 사이트의 다른 페이지 전체에서 JavaScript 기능을 실행하려면 어떻게해야합니까?
- 22. 보고 서비스 보고서에서 맞춤 코드 기능을 한 번만 실행하려면 어떻게해야합니까?
- 23. 페이지로드시 모든 요소에 대해 특정 자바 스크립트 기능을 실행하려면 어떻게해야합니까?
- 24. 다른 모든 코드가 완료된 후에이 기능을 실행하려면 어떻게해야합니까?
- 25. 특정 범위의 게시물 사이에서 파이썬 스크래핑 기능을 실행하려면 어떻게해야합니까?
- 26. Java API를 사용하여 Sesame RDF 저장소에서 SPARQL 업데이트를 실행하려면 어떻게해야합니까?
- 27. Java 프로그램을 백그라운드에서 실행하려면 어떻게합니까?
- 28. 항아리 안에서 항아리를 실행하려면 어떻게해야합니까?
- 29. msbuild로 jar 파일을 실행하려면 어떻게해야합니까?
- 30. 스크립트를 반복적으로 만들려면 어떻게해야합니까?
중복 가능성 [자바에서주기적인 간격으로 작업을 수행하는 방법?] (http://stackoverflow.com/questions/17397259/how-to-do-an-action-in-periodic-intervals -in-java) – kosa
cron 사용 http://stackoverflow.com/questions/7855666/cron-job-for-a-java-program – sunrize920
사용 http://www.quartz-scheduler.org/ –