2015-08-24 4 views
1

Мне нужно запустить некоторые TimerTasks в начале моего приложения RCP.Eclipse e4 RCP BundleActivator

Проблема в том, что эти классы находятся в дополнительном плагине, а не в продукте, определяющем плагин. Поэтому я не могу использовать мой LifeCycleHandler для запуска этого таймера.

Прослушивание UIEvents.UILifeCycle.APP_STARTUP_COMPLETE не помогает, потому что этот класс не будет создан.

Нет Я попытался установить BundleActivator и запустить свой таймер в методе start(), но он никогда не вызывается.

«Bundle-Activator: xx.xxx.xxx.manager.FtpImportManager» устанавливается как класс Activator и реализует BundleActivator.

Любые идеи?

С наилучшими пожеланиями,

Паскаль

ответ

3

Метод запуска Активатор вызывается только тогда, когда что-то еще в плагин запускается, так что это не является подходящим местом для установки таймеров.

Используйте 'Add-on', указанный в 'fragment.e4xmi'. Класс, который вы определяете для надстройки, будет называться раньше во время запуска RCP.

Конструктор Add-on будет называться раньше. Если вы хотите убедиться, что приложение запущено, добавьте метод завершения запуска приложения. Полное дополнение может выглядеть так:

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 
    } 
} 

Этот метод будет вызываться в потоке пользовательского интерфейса при завершении запуска приложения.

+0

У меня была эта идея уже, но после того, как я определил класс, реализующий MAddon и его методы, я не видел метод, называемый start или что-то еще. Вызывается конструктор? Я попробую снова. Спасибо :) – Pascal

+0

Конструктор называется раньше. Добавлен метод завершения запуска приложения. –

+0

Примечание: вы не реализуете MAddon, класс надстройки POJO. MAddon предназначен только для модели. Изменен пример как полный класс аддона. –

Смежные вопросы