有没有办法让 Eclipse 中的特定插件启动所有作业?

yes*_*mar 3 java eclipse eclipse-plugin eclipse-rcp

有没有办法让 Eclipse 中的特定插件启动所有作业?这里我们以命令行模式运行eclipse。我们在插件中启动了一些工作。在某些情况下,插件甚至在作业完成之前就终止了。已决定等待 Activator.stop() 中特定插件启动的所有作业。我想知道是否有可能通过特定插件启动所有作业。

Kon*_*aka 5

重写 Job 类是这样的。

public class MyPluginJob extends Job
{
    private String jobFamily;

    public MyPluginJob(String name, String jobFamily)
    {
        super(name);
        this.jobFamily = jobFamily;
    }

    @Override
    public boolean belongsTo(Object family)
    {
        return this.jobFamily.equals(family);
    }
}
Run Code Online (Sandbox Code Playgroud)

而且,您将以姓氏开始您的工作

Job job = new MyPluginJob("Update info", "Your_plugin_job_family_name")
        {
            @Override
            protected IStatus run(IProgressMonitor monitor)
            {
                //do whatever you want
                return Status.OK_STATUS;
            }
        };
job.schedule();
Run Code Online (Sandbox Code Playgroud)

现在,通过执行此调用来获取所有插件作业
这将返回插件拥有的所有作业

Job[] allJobs =Job.getJobManager().find("Your_plugin_job_family_name");
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。