【发布时间】:2015-11-28 04:09:27
【问题描述】:
我有一个 dispose 侦听器,它在 widgetDisposed(DisposeEvent event) 方法中创建了一个 Job。因此,在处理 TreeViewer 时执行此方法会导致在“清理作业”期间发生内部错误。在请求服务生命周期之外没有可用的上下文。此代码由 RCP 和 RAP 使用,在 RCP 应用程序上运行良好。问题在于 RAP。任何人都可以建议这是怎么回事吗?
private void addDisposeListener() {
treeViewer.getTree().addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent event) {
Job CleanupJob = new Job("Cleanup Job") { //$NON-NLS-1$
@Override
protected IStatus run(IProgressMonitor arg0) {
doCleanup();
return Status.OK_STATUS;
}
};
CleanupJob.setUser(false);
CleanupJob.setSystem(true);
CleanupJob.schedule();
}
});
}
【问题讨论】:
标签: java eclipse rcp jobs eclipse-rap