JBossAOP и AspectJ - две широко используемые зрелые платформы для AOP. Другой популярный выбор - Spring AOP, но в нем отсутствуют некоторые функции двух других.
И JBossAOP, и AspectJ имеют схожие функции, одно большое отличие состоит в том, что AspectJ опирается на расширения языка Java, а JBoss AOP - нет.
Если ваши требования к AOP довольно просты, также стоит рассмотреть библиотеку манипулирования байт-кодом, такую как ASM . Я использовал ASM для реализации простых «рекомендаций по всему» (т. Е. Кода, который вводится до и после вызова методов), и он оказался более легкой альтернативой JBossAOP. ASM четко спроектирован и хорошо документирован.