Сплетите внешний вид с новым точечным вырезом

Я довольно новичок в АОП в целом, но у меня есть следующая проблема.

У меня есть 2 проекта. Один содержит аспект, который выполняет некоторое тестирование производительности, и другой проект, который имеет зависимость от предыдущего.

Чего я хотел бы добиться, так это сплести аспект из проекта 1 в другой аспект проекта 2. Таким образом, я провел некоторое тестирование производительности в аспекте проекта 2.

Я узнал, что это невозможно с Spring-AOP, но это должно быть возможно с плетением AspectJ. Однако я не понял, как.

Я почти уверен, что мне нужно использовать aspectj-maven-plugin. , используя конфигурацию, указанную в документации AspectJ. . Но вроде ничего не подхватывается? Любые указатели на то, как написать дополнительный pointcut для внешнего аспекта?


person Jaims    schedule 15.03.2016    source источник


Ответы (2)


Я не использовал aspectj-maven-plugin, вместо этого я использую load-time-weaving, и он отлично работает.

Вы собираетесь использовать язык aspectj для определения аспектов? если нет, я предлагаю загрузку-время-ткачество

person Grant    schedule 15.03.2016

Было бы неплохо опубликовать ваши соответствующие фрагменты maven pom.xml, без этого я могу только догадываться о вашей проблеме: вы указали свою зависимость project 1 как аспект библиотека в конфигурации вашего аспекта j-maven-plugin в вашем pom.xml? Пример взят из документации к плагину aspectj-maven-plugin и изменен:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.8</version>
    <configuration>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>group.id.of.project.1</groupId>
                <artifactId>artifact.id.of.project.1</artifactId>
            </aspectLibrary>
        </aspectLibraries>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Вам также понадобится зависимость от вашего пути к классам, но я думаю, что она у вас уже есть.

person Nándor Előd Fekete    schedule 15.03.2016