Как использовать AspectJ в плагинах Eclipse
Как уже упоминалось в предыдущем вопросе, я пытаюсь убедиться, что все мои ResultSet закрыты. Для этого я хочу использовать AspcetJ, но после 1 дня напряженной борьбы я не в состоянии использовать аспекты в контексте плагина.
Я хочу, чтобы у меня был проект аспекта, определяющий несколько аспектов для проверки набора результатов, а затем запустил новую конфигурацию отладки eclipse с моими пользовательскими плагинами и применил мои аспекты к этим плагинам.
Как этого добиться?
Заранее спасибо, Ману
1 ответ
Поскольку вы работаете в среде OSGi, вам нужно использовать определенный стиль ткачества во время загрузки, который осознает OSGi. Стандартное плетение во время компиляции или LTW не будет работать. Это связано с тем, что OSGi использует разные загрузчики классов для каждого плагина, а набор плагинов, используемых Eclipse, не известен до запуска.
Взгляните на аспекты равноденствия (ткачество равноденствия):
http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start.php
По сути, вам нужно внести некоторые изменения в файл манифеста вашего аспектного плагина, добавить файл aop.xml и убедиться, что ваш плагин аспекта имеет значение autostarted = true.
[править] Начиная с затмения Юнона шаги меняются, см.: http://wiki.eclipse.org/Equinox_Weaving_QuickStart