JavaのTimerクラスを使って、毎日、

1時、2時、3時にタスクを実行したいです。
どのようにしたら、可能でしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/02/13 15:25:14
  • 終了:--

回答(4件)

id:xiang2 No.1

xiang2回答回数79ベストアンサー獲得回数02005/02/13 15:57:48

http://www.02.246.ne.jp/~torutk/javahow2/timer.html

Timerを使う。周期的に実行したり、一定時間後に実行したり

このページは参考になりますか。

id:yukimura_komura

ありがとうございます。

ただ、もう少し時間の指定方法を詳しく記入してあれば助かります。

何秒後にとか、何時間後にとかはあるんですが、

1時に、2時に実行などが、なかなか見つからないので、困ってます。

2005/02/13 16:04:38
id:xiang2 No.2

xiang2回答回数79ベストアンサー獲得回数02005/02/13 16:30:35

ポイント100pt

リスト2. AlarmClockクラス

が参考になると思います

OSの機能でUNIX系ならcron、Windowsならタスクスケジューラを使う手もあります。

id:shampoohat No.3

shampoohat回答回数347ベストアンサー獲得回数02005/02/13 16:33:39

「Javaの技術者に質問です」とか書いた方がいいかも知れませんね。

URLのように、TimerTaskを実装したクラスの側で、時刻の判定が必要になります。このとき、実行漏れがなくなるよう、前に呼び出された時刻を記憶し、起動予定時刻が、前に呼び出された時刻以上、現在時刻未満であるなどの起動条件にします。

不明点があれば再回答します。

id:yukimura_komura

そうですね。Javaの技術者さんに質問です。と記入するようにします。

Timerクラスのscheduleメソッドの引数で、

1時とか、2時とかは指定できないのですか?

2005/02/13 16:53:07
id:shampoohat No.4

shampoohat回答回数347ベストアンサー獲得回数02005/02/13 17:27:09

ポイント300pt

> そうですね。Javaの技術者さんに質問です。と記入するようにします。

はてなでは書いた方が良いです。

ただし、最初の回答者の方の2番目の回答は良回答です。(この回答は、私が最初の回答をしたタイミングでは開かれていませんでした。最初の回答者の方の2番目の回答だけあれば情報としては十分です。ただし、はてなでは、安心感を得るために少し多めに開きたいというのはありますが)

http://java.sun.com/j2se/1.4/ja/docs/ja/api/

Java 2 $B%W%i%C%H%U%)!<%`(J SE v1.4.0

> Timerクラスのscheduleメソッドの引数で、

> 1時とか、2時とかは指定できないのですか?

こんなことは、はてなで聞かずに、まず「Javadoc」を参照したほうが良いです(URL)。

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Timer....

Timer (Java 2 $B%W%i%C%H%U%)!<%`(J SE v1.4.0)

(java.util.TimerTask,java.util.Date,long)

> 1時とか、2時とかは指定できないのですか?

できます。ただし、「何年何月何日何時何分何秒」に、最初の1回を行い、次は一定間隔です。

最初の方の2番目の回答のURLにも、

「ただ、Javaのタイマー・フレームワークは多くのアプリケーションで要求されるスケジューリングの用途には十分とは言えません。毎日毎日、同じ時間に繰り返すタスクであっても、夏時間があるとその始まりと終わりで時間のずれが発生するので、Timerを使って直接スケジューリングすることはできません。」とあります。ですので、「1時とか、2時とか」という指定をするのではなく、AlarmClockクラスを参考にしたプログラミングをするのが正しいと思います。

なお、以前このようなタイマ系のモジュールを作ったことがありますが、実用的には、cron / タスクスケジューラの方が良い場合もあり、むしろその場合も多いと思います。

今回、Javaの学習ということもあり、そのようなものを敢えて作ろうとしていると解釈して回答しました。

id:yukimura_komura

ありがとうございます。いろいろ助かりました。

2005/02/13 17:35:16

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません