@PostConstruct вызывается несколько раз

У меня есть панель инструментов Perspective Switcher, которую я добавил в качестве элемента управления инструментом в свой файл e4xmi (Windows -> Trimmed Window -> TrimBars -> Window Trim -> Tool Control).
Я аннотировал метод с помощью @PostConstruct. Это успешно вызывается и передает родительский Composite.

@PostConstruct
private void postConstruct(final Composite parent)
{   
    // Do Something
}

У меня проблема в том, что это вызывается дважды.
В первый раз он вызывает конструктор и создает новый экземпляр. Затем он удаляет его сразу после этого и выдает исключение виджета is disposed.
При втором вызове он создает другой экземпляр. Панель инструментов правильно и добавляет ее в графический интерфейс, как и ожидалось.

Это приложение RCP 3, работающее в режиме совместимости с RCP 4. Я добавил файл e4xmi и указал на него с помощью applicationXMI в файле plugin.xml.

Я прочитал аналогичный вопрос здесь, хотя я чувствую, что их решение может отличаться от того, что может мне помочь.

Почему он строится дважды?

Обновить
Я заметил, что это происходит только в том случае, если я сначала очистил кеш, установив флажок Clear в конфигурации запуска. Если я не очищаю кеш, он вызывает его только один раз.


person Michael    schedule 06.11.2018    source источник
comment
У меня есть несколько элементов управления инструментами как в application.e4xmi, так и во фрагментах, а постконструкция не вызывается дважды. Где именно в e4xmi находится управление инструментами - это в TrimBar, панели инструментов части или где-то еще?   -  person greg-449    schedule 06.11.2018
comment
Тримбар. Windows -> Trimmed Window -> TrimBars -> Window Trim -> Tool Control. Я обновил вопрос.   -  person Michael    schedule 06.11.2018
comment
Я заметил, что это происходит только в том случае, если я сначала очистил кеш, установив флажок Clear в конфигурации запуска.   -  person Michael    schedule 06.11.2018