一个RCP的IM应用,请教关于网络故障及恢复的处理方法

目前是一个IM系统,需要在网络连接断开的时候,关掉主程序,回到登陆对话框,并且在网络连接恢复的时候,可以自动登陆,类似于MSN和Skype的功能。

我们底层用的是SMACk,在3.0的版本中,已经实现了自动登陆的功能,但现在的问题出现在网络故障的那一步,我们所作的是调用 PlatformUI.getWorkbench().restart()方法,实现重启,并且使用IPreferenceStore来保存一些基本类型的数据信息。可是这样一来,内存中的所有对象就会被清理掉,新创建的ConnectionListener就无法监听到XMPPConnection的变化,于是UI就无法收到消息,从而不能自动登陆。

所以想问一下,有没有什么比较好的办法,可以在不调用PlatformUI.getWorkbench().restart()方法的情况下,关掉workbench,重新启动application,保留内存中的对象?

你可能感兴趣的:(UI,网络应用)