J2EE Web 应用程序中基于计划的执行
我想要有关 Java Web 应用程序内调度执行的建议。 (目前在 Tomcat 上运行,但我想避免任何特定于 tomcat 的内容)。
我认为以下内容定义了我感兴趣的问题的方面。
考虑一个定期轮询一组文件以进行更新的应用程序。我想提供一个用户界面,允许用户独立定义给定文件的轮询间隔,并根据用户输入更新执行计划。
如何在网络应用程序中安全地实现这一目标?
I'd like advice regarding scheduling execution within a Java web application. (currently running on Tomcat, but I'd like to avoid anything tomcat-specific).
I think the following defines the aspect of my problem I'm interested in.
Consider an application that polls a set of files for updates periodically. I'd like to provide a user interface that allows a user to define the polling interval for a given file independently, and have the execution schedule update according to user input.
How can I achieve this safely in a web app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
查看 Quartz。
Look at Quartz.
创建一个普通的 Java 轮询进程来轮询文件。它连接到您的网络应用程序的数据库以获取轮询间隔,以及用户可以通过界面定义的任何其他设置。
然后创建一个简单的 Web 界面,用于读取和写入同一个表/数据库(轮询间隔等)。完毕!
Create a plain-old Java polling process which polls the files. It connects to your webapp's database to get the polling interval, and whatever other settings that can be user defined by the interface.
Then create a simple web interface which reads and writes to the same table/database (polling intervals and whatever). Done!
仅使用 Web 层(又名 Tomcat)是不可能的。
查看第三方调度程序(例如 Quartz)。
Using only web layer (aka Tomcat) it is impossible.
Review third-party scheduler (for example Quartz).
您可以使用 Quartz 或 春季批次
You can use Quartz or Spring Batch
在 J2EE 应用程序中没有标准方法可以执行此操作,并且您不应该在应用程序中使用线程。
您可以使用供应商特定的功能(JBoss 有计时器服务)或使用第三方服务。
There is no standard way to do this in a J2EE application and you are not supposed to use threading in your apps.
You can either use vendor-specific features (JBoss has a timer service) or use a third-party service.