Eclipse e4 RCP BundleActivator
Eclipse e4 RCP BundleActivator
我需要在我的 RCP 应用程序开始时启动一些 TimerTasks。
问题是这些 classes 位于可选插件中,而不是产品定义插件中。因此我不能使用我的 LifeCycleHandler 来启动这个计时器。
听 UIEvents.UILifeCycle.APP_STARTUP_COMPLETE 没有帮助,因为这个 class 不会被实例化。
不,我尝试设置一个 BundleActivator 并在其 start() 方法中启动我的计时器,但它从未被调用。
"Bundle-Activator: xx.xxx.xxx.manager.FtpImportManager" 设置为 Activator class 并实现 BundleActivator。
有什么想法吗?
此致,
帕斯卡
Activator 启动方法仅在插件中有其他内容时调用 运行,因此这里不适合设置计时器。
使用 'fragment.e4xmi' 中定义的 'Add-on'。 class 您为插件定义的 class 将在 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 线程中调用此方法。
我需要在我的 RCP 应用程序开始时启动一些 TimerTasks。
问题是这些 classes 位于可选插件中,而不是产品定义插件中。因此我不能使用我的 LifeCycleHandler 来启动这个计时器。
听 UIEvents.UILifeCycle.APP_STARTUP_COMPLETE 没有帮助,因为这个 class 不会被实例化。
不,我尝试设置一个 BundleActivator 并在其 start() 方法中启动我的计时器,但它从未被调用。
"Bundle-Activator: xx.xxx.xxx.manager.FtpImportManager" 设置为 Activator class 并实现 BundleActivator。
有什么想法吗?
此致,
帕斯卡
Activator 启动方法仅在插件中有其他内容时调用 运行,因此这里不适合设置计时器。
使用 'fragment.e4xmi' 中定义的 'Add-on'。 class 您为插件定义的 class 将在 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 线程中调用此方法。