Я использую ScheduledExecutorService в приложении J2EE для планирования задачи каждые x секунд, взятой из файла конфигурации (собирает данные из базы данных и отправляет их на внешний сервер). Мой код:
try{
final ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
service.scheduleWithFixedDelay(new Runnable(){
public void run(){
RsaBaseAction rsa = RsaBaseAction.getInstance();//class that does all the work
rsa.rsaBaseAction();
}
}, 0, timeInterval, TimeUnit.SECONDS);
}
catch(Exception ex){
ex.printStackTrace();
}
Мой вопрос: есть ли дополнительный код, который я должен написать? Должен ли я написать цикл while, чтобы убедиться, что поток завершен, а затем выполнить service.shutdown()
или ScheduledExecutorService
позаботится об этом за меня?