@PostConstruct вызывается несколько раз - PullRequest
0 голосов
/ 06 ноября 2018

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

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

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

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

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

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

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

...