Here is a sample what I have done. Hope this helps.
/*
The main class that calls your implementation class.
*/
public class TimerTrigger extends
Thread {
public TimerTrigger () {
long repeatTimer = 0;
Props prop = new Props();
repeatTimer = Long.valueOf(prop.getSetupParameters("REPORT_TIMER_REPEAT_SECONDS")).intValue();
Timer timer = new Timer();
timer.schedule(new ReportTask(), 0, repeatTimer);
}
public static void main (
String[] args) {
TimerTrigger timerTrigger = new TimerTrigger();
Thread timerThread = new Thread(timerTrigger);
Logger.log("INFO", null, "Starting Timer Trigger Thread...");
timerThread.start();
try {
timerThread.join();
}
catch (InterruptedException e) {
DBLogger.log("ERROR", null, "Interrupted Exception Joining Timer Thread");
}
}
}
/*
Your implementation
*/
public class ReportTask extends TimerTask implements Runnable {
/* Implement your batch process here */
public void run() {
}
}