JobのBackground化

繰り返し実行したいバックグラウンドジョブをEclipseのJobを使って実現するためにはどうしたらいいか。中々見つからず、困っていた。意外に簡単だ。Jobのプロパティに次のように設定すればいい。

Job job = new Job("Jobを実行してます。"){
    @Override
    protected IStatus run(IProgressMonitor monitor) {
        // do something
        return Status.OK_STATUS;
    }
    
};
job.setPriority(Job.LONG);
job.schedule();

job.setPriority(Job.LONG)がJobの状態を決める模様。Job.LONGは長く実行するバックグラウンド用ってJavaDocに書いてあった。他にもJob.Buildとかあるみたい。まぁ、使っていくうちになれるかな。