0

最近、友人と私のためにMinecraftサーバーをセットアップしました。サーバーのさまざまな側面を定期的に再起動、バックアップ、診断する、独自のメンテナンスラッパーをプログラムするのは楽しいプロジェクトだと思いました。

ScheduledExecutorServiceクラスを見て、それが完璧だと思いましたが、問題が発生しました。私はほぼ毎晩コンピューターをシャットダウンしますが、このクラスは経過時間ベースで機能します。一部のタスクは週に1回だけ実行したいと思います。これを実装する最も簡単な方法は何でしょうか?

代わりに使用できる経過時間ではなく、実際の時間に基づいてタスクの実行を自動的に処理する、使用できる別のクラスはありますか?

編集:私は、標準クラスの直接的な使用は機能しないことを認識していることを付け加えなければなりません。ただし、タスクを実行するたびに次の実行時間をディスクに保存し、次にラッパーを起動するときにリストを呼び出して、中断したところから再開できるようにすることは簡単にできます。

4

2 に答える 2

1

スケジューラライブラリ(Quartz)を使用すると、データベースバックエンドと組み合わせてこれらのタイプの機能を実行できます。ジョブは、特定の時間または頻度で実行するようにスケジュールできます。

于 2012-09-10T19:15:50.577 に答える
0

Quartzをお試しください。

Quartzには、スケジューリングサービスのように、すぐに使用できる永続化メカニズムが含まれています。

于 2012-09-10T19:14:50.487 に答える