[英]Eclipse e4 RCP BundleActivator
我需要在RCP应用程序的开头启动一些TimerTasks。
问题在于这些类位于可选插件中,而不位于产品定义插件中。 因此,我不能使用LifeCycleHandler启动此计时器。
监听UIEvents.UILifeCycle.APP_STARTUP_COMPLETE没有帮助,因为此类不会被实例化。
不,我尝试设置BundleActivator并在其start()方法中启动计时器,但从未调用过它。
将“ Bundle-Activator:xx.xxx.xxx.manager.FtpImportManager”设置为Activator类,并实现BundleActivator。
有任何想法吗?
最好的祝福,
帕斯卡
仅在运行插件中的其他内容时才调用Activator start方法,因此这不是设置计时器的合适位置。
使用在“ fragment.e4xmi”中定义的“附加组件”。 您为外接程序定义的类将在RCP启动期间的早期调用。
加载项构造函数将在早期被调用。 如果要确保应用程序已启动,请添加应用程序启动完成事件方法。 完整的加载项可能类似于:
public class MyAddon
{
public MyAddon()
{
// Code runs early on during startup
}
@Inject
@Optional
public void applicationStarted(@UIEventTopic(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE) Event event)
{
// Code runs when application start is complete
}
}
应用程序启动完成后,将在UI线程中调用此方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.