私は、次のようなLinuxマシンでのJavaプログラムの設計に割り当てられています。
- データベースに接続します
- レコードを読み取ります
- 特定の情報を取得し、「threat_level」と呼ばれるフィールドに従ってNagiosに送信します
- 次のレコードを読み取り、すべてのレコードが読み取られるまでステップ番号3を繰り返します
今、私はこれを数分ごとに実行する必要がありました。そのため、私のパートナーが行ったのは、ループを使用してプログラムを実行し、数分間スリープして、繰り返すスクリプトを作成することでした。
最近、私の上司はそれは良いことだと言ったが、手順全体を完全にJavaに自己完結させたいと思っている。これは、Java内でループしてスリープすることを意味します。その上、彼はプログラムが実行されるたびにコマンドラインによってスリープ期間が決定されるようにしたいと考えています。
私はいくつかの調査を行いましたが、Thread.sleep()を使用することは特定の状況では非効率的であり、これがそれらの1つであるかどうかはわかりません。また、プログラムの実行時にコマンドラインからスリープ時間を決定する方法がまだわかりません。必要に応じてコードを提供できます。