Eclipse e4 RCP BundleActivator

Eclipse e4 RCP BundleActivator,eclipse,osgi,e4,Eclipse,Osgi,E4,我需要在RCP应用程序开始时启动一些TimerTask 问题是这些类位于可选插件中,而不是产品定义插件中。因此,我无法使用LifeCycleHandler启动此计时器 侦听UIEvents.UILifeCycle.APP_STARTUP_COMPLETE没有帮助,因为此类不会被实例化 不,我试图设置BundleActivator并在其start()方法中启动计时器,但从未调用它 “Bundle激活器:xx.xxx.xxx.manager.FtpImportManager”被设置为激活器类并实现B

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

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

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

不,我试图设置BundleActivator并在其start()方法中启动计时器,但从未调用它

“Bundle激活器:xx.xxx.xxx.manager.FtpImportManager”被设置为激活器类并实现BundleActivator

有什么想法吗

致以最良好的祝愿


Pascal

激活器启动方法仅在插件中的其他内容运行时调用,因此这不是设置计时器的合适位置

使用“fragment.e4xmi”中定义的“加载项”。您为加载项定义的类将在RCP启动的早期调用

将在早期调用加载项构造函数。如果要确保应用程序已启动,请添加应用程序启动完成事件方法。完整的附加组件可能如下所示:

公共类MyAddon
{
公共MyAddon()
{
//代码在启动的早期运行
}
@注入
@可选的
public void applicationStarted(@UIEventTopic(UIEvents.UILifeCycle.APP\u STARTUP\u COMPLETE)事件)
{
//代码在应用程序启动完成时运行
}
}

当应用程序启动完成时,将在UI线程中调用此方法。

我已经有了这个想法,但在定义了一个实现MAddon的类及其方法之后,我还没有看到名为start或其他方法的方法。构造函数被调用了吗?我会再试一次。谢谢:)构造函数很早就被调用了。添加了示例应用程序启动完成方法。注意:您没有实现MAddon,加载项类是POJO。马登只适合模特儿。将示例更改为完整的加载项类。