Однажды я написал большую статью на эту тему в своем блоге, когда столкнулся с проблемой на моей работе в приложении для управления железнодорожным движением.Он по-прежнему работает с аспектами своей основной функциональности - не только для отслеживания вызовов, но и для автоматической обработки ресурсов и транзакций для JPA, аспектов безопасности потоков и т. Д. (Поэтому я знаю, что решение все еще работает в реальной жизни в моем бывшем проекте):
http://ballmerpeak.web.elte.hu/devblog/setting-up-aspect-oriented-programming-with-equinox-osgi-and-ajdt.html
На моем github предоставляется отдельный пример кода:
https://github.com/prenex/equinox_osgi_skeleton
Я также добавлю сюда содержимое нашего электронного письма, если оно можетпомогите другим:
"Привет!
Это было некоторое время назад, когда я работал над этой темой, но, конечно, она работала хорошо для нас и все еще является частью управления движением железной дороги на основе плагинов.application.
Для вашей проблемы:
1.) Вы поместили пакет equinox.weaving.hook рядом с основным пакетом org.eclipse.osgi? Были некоторые неясные вещикак это требование в прошлый раз, когда я работал над ним, поэтому я записал его в блоге. 2.) Вы пробовали мой пример кода по следующей ссылке?
https://github.com/prenex/equinox_osgi_skeleton
Я бы сначала попробовал запустить этот примерМой проект, в котором уже есть AspectJ, а затем построчно сравнивайте свое решение в соответствующих местах, пока оно не начнет работать.
Посмотрите на следующий коммит, чтобы увидеть, что я изменил в обычном равноденствии +Скелет проекта Osgi для добавления простой поддержки AspectJ: https://github.com/prenex/equinox_osgi_skeleton/commit/882d7765f31a3fc8ee136e88b689fce116a73d1c
С наилучшими пожеланиями, Ричард Тьер
PS: Как вы наткнулись на мой блог?Я счастлив, что кто-то действительно прочитал это и нашел это полезным, даже если это не полностью решает все их проблемы.:-) "