Como configurar a tecelagem de tempo de carregamento com AspectJ e Tomcat?
Eu tentei configurar a tecelagem de tempo de carregamento (para fazer o perfil com Perf4J) da seguinte maneira:
1) eu adicioneiaop.xml
paraMETA-INF
pasta. Quando implantado, o META-INF é colocado no diretório raiz do artefato (ou seja,MyAppDeployed/META-INF
).
2) eu coloqueiaspectjrt-1.6.1.jar
, aspectjweaver-1.6.1.jar
, commons-jexl-1.1.jar
, commons-logging.jar
aoTomcat/lib
pasta (no começo eu tenteiMyAppDeployed/WEB-INF/libs
mas também não funcionou).
3) eu adicionei-javaagent:C:\apache-tomcat-6.0.33\lib\aspectjweaver-1.6.1.jar
às opções de VM ao iniciar o Tomcat.
4) meuaop.xml
:
<code><!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> <aspectj> <aspects> <aspect name="org.perf4j.log4j.aop.TimingAspect"/> </aspects> <weaver options="-verbose -showWeaveInfo"> <include within="com.mypackages.MyClass"/> </weaver> </aspectj> </code>
Não vejo sinais de que a tecelagem de tempo de carregamento aconteça. Nem relatórios de erros nem resultados necessários. A única mensagem de erro que tenho é:
<code>Error occurred during initialization of VM agent library failed to init: instrument Error opening zip file: C:\apache-tomcat-6.0.33\lib\wrong-jar.jar </code>
em um caso quando eu cometer um erro em umaspectjweaver-1.6.1.jar
nome quando especificar um parâmetro javaagent. Se estiver escrito corretamente, nenhuma mensagem de erro será impressa.
Alguma idéia, o que estou fazendo de errado?
P.S. Eu uso o Java 5, e eu tentei as mesmas coisas com1.5.4
versão do aspectj com exatamente os mesmos resultados.