【问题标题】:Daemon in Java: simple schedule application?Java 中的守护进程:简单的日程安排应用程序?
【发布时间】:2011-01-22 05:35:56
【问题描述】:

此应用程序必须执行与 Web 服务的连接,获取数据,并将其保存在数据库中。 每小时 24/7。 在 java 中创建这样的应用程序最有效的方法是什么?

它应该如何运行 - 作为系统应用程序还是作为 Web 应用程序?

【问题讨论】:

    标签: java cron quartz-scheduler scheduled-tasks


    【解决方案1】:

    使用众多在线计划服务之一创建网页并计划其执行。它们中的大多数是免费的,使用非常简单且非常可靠。有些允许您创建任何复杂的计划,就像在 cron、SqlServer 作业 UI 等中一样。即使它基于 Ncron、Quartz 等框架,也可以为您节省很多创建/调试/维护自己的调度引擎的麻烦。我说的是我自己的经验。

    【讨论】:

      【解决方案2】:

      如果你打算在 java 中做这件事,一个简单的 Timer 就足够了。

      【讨论】:

        【解决方案3】:

        保持简单:使用 cron(或任务调度程序)

        如果这就是您想做的全部,即每小时探测一次 Web 服务,请将其作为控制台应用程序并使用 cron 运行。

        每小时启动和停止的应用程序

        • 不能泄露资源
        • 无法挂起(可能是你失去了一个周期)
        • 99% 的时间消耗 0 个资源

        【讨论】:

        • 不是每个人都使用 UNIX 类似的。
        • windows有任务调度器
        【解决方案4】:

        【讨论】:

        • 但您首先需要确保您的进程已启动并运行。
        【解决方案5】:

        为什么不使用cron 每小时启动一次Java 应用程序?如果 Java 应用程序在其余时间没有做任何事情,则无需占用服务器资源来保持活动状态,只需在需要时启动它,

        【讨论】:

          【解决方案6】:

          看看quartz,它是一个java中的调度库。他们有示例代码可以帮助您入门。 你需要它和你选择的数据库的 JDBC 驱动程序。 不需要 Web 容器 - 这可以使用独立的应用程序轻松完成

          【讨论】:

          • quartz 对于每小时启动一次的单个任务来说太过分了
          • 也许,也许不是,但至少它是可靠的,而不是 jre 提供的计时器设施
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多