Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux机器上每隔5分钟使用java程序间歇更新数据库_Java_Linux_Webserver - Fatal编程技术网

在Linux机器上每隔5分钟使用java程序间歇更新数据库

在Linux机器上每隔5分钟使用java程序间歇更新数据库,java,linux,webserver,Java,Linux,Webserver,我为这个复杂的帖子提前道歉。 我需要找到一种方法,每5分钟自动更新一次数据库,其中包含来自web服务调用的信息。我计划编写一个Java程序,从云上的web服务中提取数据并将其放入数据库。我需要这个程序每5分钟左右从云端提取一次数据,这样我们就可以按时间顺序获取数据。实现这一点的好方法是什么?这将在运行Linux的服务器计算机上完成 我在考虑两种可能性: 1. 我可以编写一个无休止循环的Java程序,每天24小时在服务器上运行,每次让线程休眠5分钟。如果是这样,我如何确保服务器计算机保持程序运行?

我为这个复杂的帖子提前道歉。 我需要找到一种方法,每5分钟自动更新一次数据库,其中包含来自web服务调用的信息。我计划编写一个Java程序,从云上的web服务中提取数据并将其放入数据库。我需要这个程序每5分钟左右从云端提取一次数据,这样我们就可以按时间顺序获取数据。实现这一点的好方法是什么?这将在运行Linux的服务器计算机上完成

我在考虑两种可能性: 1. 我可以编写一个无休止循环的Java程序,每天24小时在服务器上运行,每次让线程休眠5分钟。如果是这样,我如何确保服务器计算机保持程序运行?如果服务器重新启动,它会重新开始运行吗?我需要一些方法来实现自动化。有什么想法吗? 或 2. 我可以编写一个非循环程序,并以某种方式让操作系统或其他软件每5分钟运行一次程序。有没有办法让Linux或服务器软件做到这一点?有什么想法吗


如果有人能给我指出正确的方向,我将不胜感激。

Linux有一个程序cron,如果你愿意,它可以每5分钟启动一次java程序。

Linux有一个程序cron,如果你愿意,它可以每5分钟启动一次java程序。

你可能会设置一个cron作业,调用你编写的java程序以指定的间隔(示例中为5分钟)从web服务检索数据

查看wiki文章了解更多信息


您可能可以设置一个cron作业,该作业调用您编写的java程序,以指定的时间间隔(示例中为5分钟)从web服务检索数据

查看wiki文章了解更多信息


我会创建一个只执行我需要的任务的程序,然后使用cron等工具进行调度。

我会创建一个只执行我需要的任务的程序,然后使用cron等工具进行调度

1) 我可以编写一个无休止循环的Java程序,每天24小时在服务器上运行,每次让线程休眠5分钟。如果是这样,我如何确保服务器计算机保持程序运行

将其作为守护进程运行,在服务器重新启动时自动启动

如果服务器重新启动,它会重新开始运行吗

请阅读“init”,了解您对Linux的特殊爱好。(我再具体不过了,因为在不同的Linux发行版上,至少有3种“init”系统是通用的。)

2) 我可以编写一个非循环程序,并以某种方式让操作系统或其他软件每5分钟运行一次程序。有没有办法让Linux或服务器软件做到这一点

仔细阅读并阅读

1) 我可以编写一个无休止循环的Java程序,每天24小时在服务器上运行,每次让线程休眠5分钟。如果是这样,我如何确保服务器计算机保持程序运行

将其作为守护进程运行,在服务器重新启动时自动启动

如果服务器重新启动,它会重新开始运行吗

请阅读“init”,了解您对Linux的特殊爱好。(我再具体不过了,因为在不同的Linux发行版上,至少有3种“init”系统是通用的。)

2) 我可以编写一个非循环程序,并以某种方式让操作系统或其他软件每5分钟运行一次程序。有没有办法让Linux或服务器软件做到这一点

请仔细阅读和。

您提到了两种不同的“技术”,它们有不同的处理方法,一种是Java,另一种是linux

在linux上,您拥有

  • CRON-这是一种“linux”方式来执行计划任务(脚本),因此您可以每5分钟运行java程序/任何您想要的内容。正确定义您不应该为服务重新启动而烦恼,cron将在服务重新启动时自动运行,并将处理您的java程序。您可能想改用anacron,但您应该向系统管理员了解此处的详细信息

  • 如果您不想在linux中运行调度作业,也不想在Java中管理调度,那么您确实可以编写一个程序,该程序将在无休止的循环中运行,因为进程将永远运行,但在这种情况下,我建议您使用Java.util.Timer而不是sleeps,或者如果您不介意使用第三方,那么选择Quartz,它是一个成熟的Java调度器。但是为了让这个程序在重新启动时运行,您应该在linux中将它定义为一个服务。基本上,您将一些脚本(正确定义)放在预定义的文件夹中,注册服务,linux在重新启动时将调用此脚本,这样您就可以在需要时运行

    服务myscheduledtask开始/停止/状态

  • 根据Linux发行版的不同,技术细节略有变化,但运行计划任务的基础结构肯定存在于任何发行版中 例如,在Redhat上,您应该将
    chkconfig
    命令作为入口点

    现在什么方法更好?这里没有银弹解决方案。我可能会选择基于cron的方法,因为它更简单。但作为一名java程序员,我意识到java将提供一个跨平台的解决方案(如果有一天您要迁移到另一个操作系统,那么您将不得不再次定义调度机制)。 另一方面,进程越少越好,因此始终运行的进程在这里是一个缺点:)因此,选择权在你

    希望这有助于

    您提到两种不同的“技术”,它们有不同的处理方法,一种是Java,另一种是linux

    在linux上,您拥有

  • CRON-这是一种执行计划任务(脚本)的“linux”方式