【问题标题】:How can I keep a Java program to repeat the same steps over and over for a long time? [closed]如何让 Java 程序长时间重复相同的步骤? [关闭]
【发布时间】:2021-08-03 13:46:35
【问题描述】:

我开发了一个 Java 应用程序,该应用程序需要一遍又一遍地重复相同的步骤(发送 HTTP 请求和处理响应等),理想情况下这样做数周甚至数月而不做任何更改。目前,我是这样做的:

// do some preparation
while (true) {
   // do stuff
}

该程序可以在我的 PC 上的 Intellij Idea 中运行 1-3 天(也取决于网络性能),但之后它会停止。 您能告诉我正确的解决方案吗,因为我知道目前的解决方案不专业。

另外,如果我在我的 PC 上运行我的程序,它的性能会受到我的互联网速度和性能的严重影响。我有可能以某种方式在互联网速度更快的服务器上运行我的程序吗?

【问题讨论】:

  • 你的程序最终会崩溃吗?还是正常终止? JVM进程是否会写入某种崩溃报告文件?
  • 为什么不让应用程序只执行一次它,让操作系统(不管它是什么,你没有指定)以特定的时间间隔重复运行应用程序? (在相关说明中,从 IDE 运行它似乎不是一个好的策略)
  • 不,它不会终止,它只是停止提供新的输出。所有异常都会被程序捕获,因此只要遇到异常它就会继续运行。
  • @FedericoklezCulloca 你建议从哪里运行它?
  • "所有异常都被程序捕获,因此只要遇到异常它就会继续运行。"那么,如果您不允许程序告诉您,您希望如何找出问题所在?

标签: java http intellij-idea server connectivity


【解决方案1】:

这个问题包含两个问题。

  1. 不要在 IDE 中运行此应用程序,而是将其打包以独立运行。 JAR 可能是最简单的前进路径。在不知道为什么会崩溃的情况下,这是我能给出的最佳建议。

  2. 您绝对可以在服务器或无服务器部署上运行它。将其打包以独立运行(JAR、Docker 映像、WAR 等)后,您可以查看 Google Cloud、AWS 或其他提供商的免费层级,以便轻松部署它而无需太多开销。

如果你得到更具体的,我可以给出更具体的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多