Как архивировать AOP в OSGi с помощью Apache Felix

В настоящее время я работаю над проектом OSGi, где некоторые части идеально подходят для программирования АОП. Без большого опыта в AOP в сочетании с OSGi я хотел бы знать, как лучше всего выполнять AOP в среде OSGi? Я прочитал несколько статей по этой проблеме, но не нашел решения, которое подходит мне. Есть, например, проект Equinox Incubator для AspectJ, но последняя сборка была в 2008 году. Но так как я использую Apache Felix и Bnd(инструменты), я хочу избегать использования чего-то из Equinox. Кстати, одним из требований к процессу ткачества будет то, что он должен быть во время компиляции и, возможно, позже, во время загрузки. Кроме того, я использую Ant и Bnd для сборки своих пакетов. Поэтому было бы здорово, если бы я смог интегрировать Aspectj в этот процесс сборки.

Надеюсь, кто-то может поделиться опытом с таким вариантом использования.

РЕДАКТИРОВАТЬ

Резюме на данный момент:

  • есть возможность использовать Spring AOP, как упомянул Кристиан Шнайдер в своем ответе (но, к сожалению, не то, что я ищу)

1 ответ

Решение

Я думаю, что вы можете взглянуть на Овен JPA. Там недавно было добавлено время загрузки. Похоже, что в новой спецификации OSGi есть и ткацкий крючок. Так что поддержка AspectJ и тому подобного сейчас вполне возможна. Я еще не видел это в действии все же.

Большой вопрос, конечно. Зачем вам нужен АОП и что вы хотите с ним делать? В общем, АОП в большинстве случаев выглядит проще, чем есть, и дает вам преимущества, которые вы думаете на первый взгляд. Поэтому мой совет - будьте осторожны и дважды подумайте, прежде чем использовать AOP слишком много.

Другие вопросы по тегам