首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日食e4 RCP BundleActivator

日食e4 RCP BundleActivator
EN

Stack Overflow用户
提问于 2015-08-24 14:30:47
回答 1查看 456关注 0票数 1

我需要在我的RCP应用程序开始时启动一些TimerTasks。

问题是这些类位于可选插件中,而不是在定义插件的产品中。因此,我不能使用我的LifeCycleHandler来启动这个计时器。

侦听UIEvents.UILifeCycle.APP_STARTUP_COMPLETE没有帮助,因为这个类不会被实例化。

不,我试图设置一个BundleActivator,并在它的start()方法中启动我的计时器,但是它从未被调用。

"Bundle- Activator : xx.xxx.xxx.manager.FtpImportManager“被设置为Activator类并实现BundleActivator。

有什么想法吗?

诚挚的问候,

Pascal

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-24 14:38:52

Activator方法仅在插件中的其他内容运行时才被调用,因此这不是设置计时器的合适位置。

使用在片段中定义的“附加”。e4xmi。您为外接程序定义的类将在RCP启动早期被调用。

加载项构造函数将在早期被调用。如果要确保应用程序已启动,请添加应用程序启动完整事件方法。一个完整的外接程序可能看起来像:

代码语言:javascript
复制
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线程中调用此方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32184873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档