Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在rcp应用程序关闭后关闭我的eclipse作业_Java_Eclipse_User Interface_Rcp_Jobs - Fatal编程技术网

Java 如何在rcp应用程序关闭后关闭我的eclipse作业

Java 如何在rcp应用程序关闭后关闭我的eclipse作业,java,eclipse,user-interface,rcp,jobs,Java,Eclipse,User Interface,Rcp,Jobs,我正在使用EclipseUI作业执行异步操作。为此,当作业仍在运行并关闭我的rcp应用程序时,我会在控制台上收到一条消息,上面说!条目org.eclipse.core.jobs !发现消息作业在平台关闭后仍在运行。在关机期间安排作业的插件应该取消作业:com.myPluginame。我现在正在做这个 PlatformUI.getWorkbench().addWorkbenchListener(new IWorkbenchListener() { @Ove

我正在使用EclipseUI作业执行异步操作。为此,当作业仍在运行并关闭我的rcp应用程序时,我会在控制台上收到一条消息,上面说!条目org.eclipse.core.jobs !发现消息作业在平台关闭后仍在运行。在关机期间安排作业的插件应该取消作业:com.myPluginame。我现在正在做这个

PlatformUI.getWorkbench().addWorkbenchListener(new IWorkbenchListener() {

                    @Override
                    public boolean preShutdown(IWorkbench workbench, boolean forced) {
                        return true;
                    }

                    @Override
                    public void postShutdown(IWorkbench workbench) {
                        if (myJob != null) {
                            myJob .cancel();
                        }
                    }
                });

在我的工作台关闭后,myJob.cancel()代码被点击,但我仍然看到了消息。有什么想法吗?

你试过将取消移动到预关机吗?@nitind是的,我将代码移动到了预关机,我在工作台关闭后收到了相同的消息您的作业是为了及时响应取消吗?@nitind我正在对作业调用cancel(),java文档说,如果作业当前正在执行,它将被要求停止,但不能保证它会这样做。如何使我的工作能够及时响应取消?这仅仅是您计划的现有工作课程,还是您实际编写的工作课程?如果是您编写的,您必须检查传入的IProgressMonitor,查看它是否已被取消,并做出相应的反应。