我有一个Java Web应用程序,正在Glassfish服务器上运行。使用war文件,我可以将该应用程序部署在各种服务器上。现在,为了保持我的应用程序的数据库更新,我希望定期运行一些类(来自应用程序内部),而不需要任何用户交互(不应依赖于应用程序是否正在运行,当前用户/会话)。我发现使用一些 Timer 和 TimerTask 类,我可以定期运行任何作业。但是如何首次初始化它呢?
请分享您的想法,如何完成此过程。
请分享您的想法,如何完成此过程。
使用作业调度器。考虑使用Quartz http://quartz-scheduler.org/,并在程序启动时启动它。使用调度器的好处是您的程序更易于维护,并且可以轻松创建其他新作业。
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html
它比Quartz不够灵活,但您无需添加任何依赖项,也许对您的需求来说已经足够好了。