Eclipse:在Eclipse视图开始之前,如何执行任务



我的插件中只有一个视图。在视图启动之前,我想确保启动我的服务器,因为视图将根据服务器启动。当前,在启动插件-start(BundleContext context)时,我在Display thread中以CC_1启动服务器。

有时,我看到bundleloader和该线程之间的僵局。Bundleloader正在等待我的插件启动,而我的插件启动是因为syncExec()调用。

,服务器启动。

我该如何实现?有什么方法可以在我的视图开始之前执行特定任务?

如果您不使用E4,并且视图扩展了org.eclipse.ui.part.ViewPart,则有一个init()

void init(IViewSite site) throws PartInitException

createPartControl(Composite parent)之前称为

也许会有所帮助?

尝试避免Display.getDefault().syncExec();此呼叫可以阻止UI-蚀会冻结,而没有任何迹象。

相反,您应该启动一个背景线程/工人作业。工人完成后(您的服务器已启动),您应该向视图发送信号。

视图应使用"启动服务器..."初始化自身。信号到达时,您可以更新UI以显示实际内容。这样,您不必阻止,用户会看到为什么他们看不到任何东西:-)当您无法启动服务器等时,您也可以显示错误消息。

最新更新