0

Tomcat で cron4j を使用しています。
サーブレット内でスケジューリングを開始します

doGet(){
  ...
  S.start();
  ...
}

このサーブレットを誤って再度呼び出した場合でも、この cron タスクを複数回開始しないようにするにはどうすればよいですか?

4

1 に答える 1

0

前にコメントしたように、1 回限りの初期化コードにはServletContextListenerまたはメソッドのいずれかを使用することをお勧めします。Servlet.init()ただし、答えが必要な場合は、それをdoGet()一度だけ行う方法を次に宣言int counter=0し、サーブレットで呼び出されるインスタンス変数を使用します。doGet()increment thisの最初の呼び出し時counter=1。カウンターの値を確認し、それが >0 の場合は再度初期化しないでください。同期ブロックを使用して値をインクリメントするか、揮発性として宣言してより凝ったものにすることができます。

于 2014-02-25T15:41:08.793 に答える