5

xml ファイルを含むフォルダーがあります。フォルダーの内容は、1 日あたり N ファイルとして更新 (新しい xml ファイルの挿入) されます。フォルダーから最新のファイルを取得し、これらのファイルでいくつかの操作を行う Java プログラムを作成したいと思います。これを行うには2つの方法があります。

  Run java application every t minutes with cronjob.

また

Multithreaded java application which is run as daemon.

どちらがより効率的になりますか? または、役立つアイデア。

アプリケーションは Linux で実行する必要があります。

4

1 に答える 1

1

cron ルートに行かないと決めたとしても、Quartzのようなスケジューラーをゼロから構築することになる場合を除いて (これはおそらくやり過ぎでしょう)、Java アプリケーションをマルチスレッド化する必要はおそらくないでしょう。

いくつかの理由から、cron アプローチを使用することをお勧めします。

  1. Cronは、指定した要件に適しています(つまり、ファイルを受信したらすぐに処理する必要のない定期的な実行)。
  2. 試行済みでテスト済みの cron に依存するのではなく、自分でロジックをコーディングすると、スケジューリングに関するバグが発生する可能性が高くなります。
  3. cron を使用していて、Java アプリケーションが何らかの理由でクラッシュしても、その後の実行には影響しません。ただし、実行時間の長い Java デーモンを使用することにした場合は、おそらくその状態を監視するメカニズムを実装する必要があります。
于 2012-12-13T04:27:24.280 に答える