java - 静默模式执行出现 "Job found still running after platform shutdown"错误

标签 java eclipse-rcp

我正在使用以下代码(通过创建新线程)将结果写入 HTML。

private void asyncHTMLWriter(final IResults results) throws IOException {
    Thread htmlThread = new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                // write results to html
            } catch (IOException e) {
                ioException = e;
            }
        }
    }, "HTMLThread"); //$NON-NLS-1$
    htmlThread.start();
}

但是当我使用 Job 实现相同的操作时,看到“平台关闭后发现 Job 仍在运行”错误。

private void asyncHTMLWriter1(final IResults results) throws IOException {
    Job job = new Job("HTMLJob") {

        @Override
        public boolean belongsTo(Object family) {
                if (family.equals("HTMLJob")) {
                    return true;
            }
            return super.belongsTo(family);
        }

        @Override
        protected IStatus run(IProgressMonitor monitor) {
            try {
                // write results to html
            } catch (IOException e) {
                return Status.CANCEL_STATUS;
            }
            return Status.OK_STATUS;
        }
    };
    job.schedule();
}

我仅在静默模式执行时看到此错误。 任何想法为什么我在使用作业时看到此错误。

最佳答案

要确保家庭中的工作已完成,您可以使用:

Job.getJobManager().join(family, progress-monitor);

所以在退出之前调用它。

关于java - 静默模式执行出现 "Job found still running after platform shutdown"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256206/

相关文章:

java - 什么是XML中的延迟节点扩展?

java - 如果有重复文件,Java 中的类加载器如何知道要加载哪个文件资源?

java - 为什么我的二叉树迭代器停止了?

java - 支持 eclipse e4 中 View 的多个实例

java - RCP 中的 Eclipse 控制台缺少输出

java - 如何在 Mapreduce 中生成 UUID?

java - Jpanel 和图形错误

java - Eclipse RCP 项目的更好工作区位置

eclipse - 第谷构建错误 : "... requires bundle ... but it could not be found"

java - 如何在 eclipse-rcp 应用程序的公共(public)导航器 View 中对文件夹结构进行分组?