2015-06-24 3 views
0

Я работаю над существующим веб-приложением, использующим EJB3. Мне нужно сделать несколько аспектов в этом приложении, чтобы зарегистрировать некоторую информацию после сопоставления некоторых определенных методов (до и после сохранения боба).Aspectj: развертывание аспектов в существующем веб-приложении

Я развертываю свое веб-приложение на сервере Jboss в ушном формате. ухо содержит войну (сервлеты) и банку (сеансовые бобы и сущности).

Любая идея о том, как это возможно? Должен ли я помещать свои аспекты в банку или мне нужно создать новую банку (исключительно для аспектов)?

Кстати, я использую eclipse для этого проекта. Так что моя банка соответствует проекту EJB, и моя война соответствует динамичному веб-проекту.

Спасибо за ваши ответы

ответ

1

Насколько я знаю, для веб-приложений, это возможно только сделать это с нагрузкой времени соткать (не следует смешивать с компиляции один, они не совместимы с друг друга). Для достижения этой цели необходимо выполнить следующие действия:

  • aop.xml Создать (link в документации, как сделать это) и положить его в META-INF папку вашего проекта.

  • добавить aspectjweaver/tools/rt банки в зависимости от вашей ситуации.

  • отключить время компиляции ткачество (Это конфигурация в вашем pom.xml. Подробнее there)

  • добавить в приложение-сервера JVM следующий аргумент -javaagent:pathto/aspectjweaver.jar (documentation)

  • добавить aspectjweaver.jar к ресурсам вашего сервера

Все права защищены.

Вы должны отключить компиляцию во времени im im pom.xml (если вы используете maven, конечно). К сожалению, я не пытался сделать это без maven (только с плагином Eclipse AspectJ). Вот как это будет выглядеть.

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>aspectj-maven-plugin</artifactId> 
       <version>1.7</version> 
       <configuration> 
        <!-- disabling --> 
        <outxml>true</outxml> 
        <XterminateAfterCompilation>true</XterminateAfterCompilation> 
        <!-- disabling --> 
       </configuration> 
       <executions> 
        <execution> 
         <id>compile</id> 
         <goals> 
          <goal>compile</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
+0

Благодарим за ответ. Есть ли у вас какие-либо идеи о том, как отключить компиляцию во время eclipse? –

+0

@MohammedElMoumni Вы можете посмотреть некоторое обновление. –

+0

@MohammedElMoumni Кстати, вы используете maven? –

Смежные вопросы