什么是到Tomcat / Jetty服务器上运行的周期性任务(如守护线程)的最佳/最简单的方法是什么?如何启动线程?有一个简单的机制,或者这是在所有的坏主意?

有帮助吗?

解决方案

没关系,有效地藏匿一个java.util.Timer中(或更好,但ScheduledExecutor)实例在ServeletContext。在Servlet的init创建它()调用和你的servlet可以添加TimerTasks它。

其他提示

如果想保持Java方面的一切,给看看到石英。结果 它处理故障转移和作业细粒重新分区,与cron作业的同样的灵活性。

其中一个工作在很多系统中通用的办法就是有,它可以对您的应用程序的周期wget的cron作业。

我不能回答的是tomcat /码头的东西,但我做了类似的事情与基于Python的Web应用程序。

我通常只运行一个单独的应用程序,并需要定期任务。如果需要的网站和应用程序之间的互操作,即通信可以通过某种API的出现(使用类似XML-RPC / Unix套接字/等),或者甚至只是通过数据库层,如果这是足够的。

希望有所帮助。

如果你想使用cron作业,但没有到开发系统的管理权限,您可以通过执行命令做一个用户的crontab:

crontab -e

这在大多数系统上使用VI默认,但你可以将其更改为通过您选择的编辑器:

export EDITOR=/usr/local/bin/my_editor

然后,执行的crontab -e命令将在编辑器中启动您的crontab文件。保存时,更改将被提交到系统中的cron。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top