5

我有包含 xml 文件的文件夹。文件夹的内容每天更新为 N 个文件(插入新的 xml 文件)。我想编写一个java程序,它将从文件夹中获取最新的文件并对这些文件进行一些操作。我有两种方法可以做到这一点:

  Run java application every t minutes with cronjob.

或者

Multithreaded java application which is run as daemon.

哪个会更有效率?或任何可以提供帮助的想法。

应用程序应在 Linux 上运行。

4

1 回答 1

1

即使您决定不采用 cron 路线,您的 Java 应用程序也可能不需要多线程,除非您最终从头开始构建一个类似Quartz的调度程序(这可能是矫枉过正)。

我推荐使用 cron 方法有几个原因:

  1. Cron 适合您给出的要求(即定期执行而无需在收到文件后立即处理)。
  2. 如果您自己编写该逻辑而不是依赖经过尝试和测试的 cron,那么您更有可能在调度方面遇到错误。
  3. 如果您使用 cron 并且您的 Java 应用程序由于某种原因崩溃,那么它不会影响后续执行。但是,如果您决定使用长时间运行的 Java 守护程序,则可能必须实现一种机制来监视其运行状况。
于 2012-12-13T04:27:24.280 回答