Кварц - отличная идея, но может быть немного переборщиком в зависимости от того, что вам нужно. Я думаю, что реальная проблема заключается в том, что вы пытаетесь внедрить свой сервис в сервлет, когда вы фактически не слушаете входящие HttpServletRequests. Вместо этого, рассмотреть возможность использования контекста сервлета, чтобы запустить свой сервис, и таймер, так как Морис предложил:
web.xml:
<listener>
<listener-class>com.myCompany.MyListener</listener-class>
</listener>
И тогда ваш класс выглядит следующим образом:
public class MyListener implements ServletContextListener {
/** the interval to wait per service call - 1 minute */
private static final int INTERVAL = 60 * 60 * 1000;
/** the interval to wait before starting up the service - 10 seconds */
private static final int STARTUP_WAIT = 10 * 1000;
private MyService service = new MyService();
private Timer myTimer;
public void contextDestroyed(ServletContextEvent sce) {
service.shutdown();
if (myTimer != null)
myTimer.cancel();
}
public void contextInitialized(ServletContextEvent sce) {
myTimer = new Timer();
myTimer.schedule(new TimerTask() {
public void run() {
myService.provideSomething();
}
},STARTUP_WAIT, INTERVAL
);
}
}
, что вы имеете в виду с автоматическим обновлением? tomcat делает это сам. – Tobias