Timer timer = new Timer();
Calendar currentTime = Calendar.getInstance();
currentTime.setTime(new Date());
int currentHour = currentTime.get(Calendar.HOUR);
currentTime.set(Calendar.HOUR, currentTime.get(Calendar.HOUR));
currentTime.set(Calendar.MINUTE, currentTime.get(Calendar.MINUTE));
currentTime.set(Calendar.SECOND, currentTime.get(Calendar.SECOND));
currentTime.set(Calendar.MILLISECOND,currentTime.get(Calendar.MILLISECOND));
long do_per_seconds = mgr.getWaitTime()*1000;
Date NextHour = currentTime.getTime();
timer.scheduleAtFixedRate(new ReportTasks(),NextHour,do_per_seconds);
public class ReportTasks extends TimerTask {
public void run() {
System.out.println("Hello World");
}