Eclipse RCP从启动画面重启应用程序

时间:2016-04-21 12:26:27

标签: java eclipse eclipse-rcp workbench p2

我正在实施3.x / e4混合RCP应用程序:

TL; DR

以启动方式登录 - >必要时更新客户端 - >马上重启工作台。

全文

  1. 显示启动画面,其中包含登录组件。这是通过扩展AbstractSplashHandler

  2. 来实现的
  3. 用户写入用户名,密码,服务器地址和端口。按下Sign In按钮后,将通过在提供的地址联系服务器来执行P2更新检查。

  4. 如果服务器可以访问,并且有可用的更新,则会询问用户是否要更新。这些更新是强制性的,因此除非它是最新的,否则他/她不能进入系统。

  5. 如果用户按YES,则执行P2更新。完成后,我想自动重启工作台。

  6. 重启时几乎没有问题:

    1. 在启动生命周期中,PlatformUI.getWorkbench()不会返回null,但它们都没有完全初始化。因此,如果我致电IWorkbench#restart,会抛出一些内部NPE(我可以根据要求将它们放在这里)。

    2. 我考虑过在Application类中进行版本检查,在那里我可以返回IApplication.EXIT_RESTART代码 - 但是我还没有那里的知识。我真的很想在启动时登录。

    3. IWorkbench#restartSystem.exit(0)之间是否存在中间立场?我很乐意在Application之后,在PlatformUI#createAndRunWorkbench之后,使用重新启动代码。

0 个答案:

没有答案