Java 始终在eclipse中运行线程
我正在编写一个eclipse插件,它将始终在当前活动编辑器中检查文件(如果编辑器更改,那么它将检查新编辑器),然后在编辑器中突出显示一些行。(数据库包含所有需要高亮显示的文件名和关联行) 我成功地开发了这个插件。问题是,它只检查数据库一次,如果无法连接到数据库,则会生成我自己的错误消息。我希望插件定期检查数据库(新的更新),一旦连接到数据库,它会立即突出显示编辑器 我想我不能使用eclipseJava 始终在eclipse中运行线程,java,eclipse,multithreading,eclipse-plugin,Java,Eclipse,Multithreading,Eclipse Plugin,我正在编写一个eclipse插件,它将始终在当前活动编辑器中检查文件(如果编辑器更改,那么它将检查新编辑器),然后在编辑器中突出显示一些行。(数据库包含所有需要高亮显示的文件名和关联行) 我成功地开发了这个插件。问题是,它只检查数据库一次,如果无法连接到数据库,则会生成我自己的错误消息。我希望插件定期检查数据库(新的更新),一旦连接到数据库,它会立即突出显示编辑器 我想我不能使用eclipseWorkspaceJob,因为WorkspaceJob只会检查编辑器一次,但我希望将其作为一个连续的过程
WorkspaceJob
,因为WorkspaceJob只会检查编辑器一次,但我希望将其作为一个连续的过程,在一定的时间间隔内(比如每30秒)。所以,我认为线是合适的
但我如何实现它呢?如何在eclipse中运行一个线程,它将始终运行?有更好的解决方案吗?您仍然可以使用带有
计划(长延迟)
方法的WorkspaceJob来设置30秒延迟。让作业在运行后重新安排自己,以使其定期运行:
WorkspaceJob job = new WorkspaceJob("jobname") {
@Override
public IStatus runInWorkspace(IProgressMonitor monitor)
throws CoreException {
// TODO add code here
this.schedule(30000);
return Status.OK_STATUS;
}
};
job.schedule();
您可以在Eclipse中以与普通Java程序相同的方式运行线程,它不必是WorkspaceJob,一般的Job也可以。