[jboss-user] [JBoss AOP] - Re: jboss-aop.xml is trying to apply an already existing met
elysch
do-not-reply at jboss.com
Thu May 15 12:51:56 EDT 2008
Hello Kabir.
Thank you for your response. I really appreciate your help.
Well... what I posted is all I have that talks about VacanteVO in my AOP coding. I made sure of it. (unless I made a mistake while checking it... a lot of times, hahaha)
I'm adding a separate mixin for each class that need to get new methods and/or attributes. There are two classes (VacanteVO and CriteriosBusquedaConsultarVacantesVO) that have almost the same attributes, but I don't think that should matter.
Following is the process I do to deploy my project. In case you find something wrong, or have a comment.
I enabled the verbose flag in the file:
C:\jboss-4.2.1.GA\server\default\deploy\jboss-aop-jdk50.deployer\META-INF\jboss-service.xml
Every time I test it, I do the following:
a) Stop the jboss server
b) Delete the the following directories or files, just to make sure there is nothing left form a previous test:
C:\jboss-4.2.1.GA\server\default\data\
| C:\jboss-4.2.1.GA\server\default\log\
| C:\jboss-4.2.1.GA\server\default\tmp\
| C:\jboss-4.2.1.GA\server\default\work\
| C:\jboss-4.2.1.GA\server\default\deploy\bolsaDeTrabajo-1.0-SNAPSHOT.ear
| C:\jboss-4.2.1.GA\server\default\deploy\bolsaDeTrabajo-ds.xml
c) I start the server and when it's finished starting, I make a copy of
C:\jboss-4.2.1.GA\server\default\log\server.log
d) I copy the ear file to:
C:\jboss-4.2.1.GA\server\default\deploy\bolsaDeTrabajo-1.0-SNAPSHOT.ear
e) When it finishes the deploy, I make another copy of the log file
Analizing the log file
In the log file copied after deploy, I can't find any message saying something like:
anonymous wrote : [debug] was com.mitalteli.bolsaDeTrabajo.service.ejb.ServicioConsultarVacantesBean converted: true
but talking about VacanteVO
Here are the lines containing VacanteVO (with the linenumber at the beginning)
anonymous wrote : 33400 2008-05-13 19:16:51,578 INFO [STDOUT] [debug] Looking for aspects in: com.mitalteli.bolsaDeTrabajo.useCaseSlices.specific.consultarVacantes.AspectoVacanteVO
| ...
| 33406 2008-05-13 19:16:51,578 INFO [STDOUT] [debug] Looking for aspects in: com.mitalteli.bolsaDeTrabajo.useCaseSlices.specific.consultarVacantes.IAspectoVacanteVO
| ...
| 33412 2008-05-13 19:16:51,593 INFO [STDOUT] [debug] Looking for aspects in: com.mitalteli.bolsaDeTrabajo.useCaseSlices.specific.consultarVacantes.MixinAspectoVacanteVO
| ...
| 33469 2008-05-13 19:16:51,968 INFO [STDOUT] [trying to transform] com.mitalteli.bolsaDeTrabajo.service.ejb.ServicioConsultarVacantesBean
|
| 33470 2008-05-13 19:16:51,968 INFO [STDOUT] [debug] There are no caller pointcuts!
|
| 33471 2008-05-13 19:16:51,984 INFO [STDOUT] [debug] javassist.CtMethod at 64a49749[public getAllVacantes ()[Lcom/mitalteli/bolsaDeTrabajo/vo/VacanteVO;] matches no pointcuts
| ...
| 33485 2008-05-13 19:16:52,093 INFO [STDOUT] [debug] javassist.CtConstructor at c01846[public VacanteVO ()V] matches pointcut: execution(com.mitalteli.bolsaDeTrabajo.vo.VacanteVO->new())
| ...
| 33559 2008-05-13 19:16:52,453 INFO [STDOUT] [trying to transform] com.mitalteli.bolsaDeTrabajo.vo.VacanteVO
| 33560 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] There are no caller pointcuts!
|
| 33561 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at c2ae0ad8[public copy (Lcom/mitalteli/bolsaDeTrabajo/vo/VacanteVO;)V] matches no pointcuts
|
| 33562 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at fb809fd2[public getId ()Ljava/lang/Long;] matches no pointcuts
|
| 33563 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at a0e31abf[public setId (Ljava/lang/Long;)V] matches no pointcuts
|
| 33564 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at ce09c400[public getNombre ()Ljava/lang/String;] matches no pointcuts
|
| 33565 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at 25574882[public setNombre (Ljava/lang/String;)V] matches no pointcuts
|
| 33566 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at 3c861647[public getRequisitos ()Ljava/lang/String;] matches no pointcuts
|
| 33567 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at c25109[public setRequisitos (Ljava/lang/String;)V] matches no pointcuts
|
| 33568 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at c241d3b8[public getDescripcion ()Ljava/lang/String;] matches no pointcuts
|
| 33569 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at 377e55a2[public setDescripcion (Ljava/lang/String;)V] matches no pointcuts
|
| 33570 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at 80614dad[public getHorario ()Lcom/mitalteli/bolsaDeTrabajo/domain/VacanteHorario;] matches no pointcuts
|
| 33571 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at 77a5a35f[public setHorario (Lcom/mitalteli/bolsaDeTrabajo/domain/VacanteHorario;)V] matches no pointcuts
|
| 33572 2008-05-13 19:16:52,453 INFO [STDOUT] [debug] javassist.CtMethod at 5b4f64b[public getSueldo ()Lcom/mitalteli/bolsaDeTrabajo/domain/RangoSueldo;] matches no pointcuts
|
| 33573 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at b5601aae[public setSueldo (Lcom/mitalteli/bolsaDeTrabajo/domain/RangoSueldo;)V] matches no pointcuts
|
| 33574 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at f6974586[public getContacto ()Ljava/lang/String;] matches no pointcuts
|
| 33575 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at b2406188[public setContacto (Ljava/lang/String;)V] matches no pointcuts
|
| 33576 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at ca73dde9[public getStatus ()Lcom/mitalteli/bolsaDeTrabajo/domain/VacanteStatus;] matches no pointcuts
|
| 33577 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at ddcfb2dd[public setStatus (Lcom/mitalteli/bolsaDeTrabajo/domain/VacanteStatus;)V] matches no pointcuts
|
| 33578 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at a654b894[public getEmpresa ()Ljava/lang/Long;] matches no pointcuts
|
| 33579 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtMethod at ba98e9[public setEmpresa (Ljava/lang/Long;)V] matches no pointcuts
|
| 33580 2008-05-13 19:16:52,468 INFO [STDOUT] [debug] javassist.CtConstructor at 19f5491[public VacanteVO ()V] matches pointcut: execution(com.mitalteli.bolsaDeTrabajo.vo.VacanteVO->new())
|
| 33581 2008-05-13 19:16:52,750 INFO [STDOUT] [debug] javassist.CtConstructor at 1b853a5[public VacanteVO (Lcom/mitalteli/bolsaDeTrabajo/vo/VacanteVO;)V] matches no pointcuts
|
| 33582 2008-05-13 19:16:52,750 INFO [STDOUT] [debug] javassist.CtConstructor at 7b954b[public VacanteVO (Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/mitalteli/bolsaDeTrabajo/domain/VacanteHorario;Lcom/mitalteli/bolsaDeTrabajo/domain/RangoSueldo;Ljava/lang/String;Lcom/mitalteli/bolsaDeTrabajo/domain/VacanteStatus;Ljava/lang/Long;)V] matches no pointcuts
|
| 33583 2008-05-13 19:16:52,781 ERROR [STDERR] [warn] AOP Instrumentor failed to transform com.mitalteli.bolsaDeTrabajo.vo.VacanteVO
|
| 33584 2008-05-13 19:16:52,781 ERROR [STDERR] java.lang.RuntimeException: Mixin com.mitalteli.bolsaDeTrabajo.useCaseSlices.specific.consultarVacantes.MixinAspectoVacanteVO of pointcut jar:file:/C:/jboss-4.2.1.GA/server/default/tmp/deploy/tmp4165bolsaDeTrabajo-1.0-SNAPSHOT.ear-contents/bolsaDeTrabajo-aop-1.0-SNAPSHOT.aop!/META-INF/jboss-aop.xml7 is trying to apply an already existing methodgetRequisitos for class com.mitalteli.bolsaDeTrabajo.vo.VacanteVO
|
| 33585 2008-05-13 19:16:52,781 ERROR [STDERR] at org.jboss.aop.instrument.Instrumentor.addMixin(Instrumentor.java:310)
|
| 33586 2008-05-13 19:16:52,781 ERROR [STDERR] at org.jboss.aop.instrument.Instrumentor.instrumentIntroductions(Instrumentor.java:375)
|
| 33587 2008-05-13 19:16:52,781 ERROR [STDERR] at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.java:717)
| ...
So, apparently it's being waved before line 33559, because line 33566 is reporting "getRequisitos ()Ljava/lang/String;] matches no pointcuts". That means it already has a getRequisitos method, Right?
I don't understand enough the log messages, maybe.
I'm completely clueless about what could cause this problem.
----------------
If you have some free time, want and can give me a hand, please download the source code, .ear file and log file from:
http://www.mitalteli.com/thesis-2008/
And take a look. I hope it's a simple rookie mistake. (I really hope)
Note that I deleted all the ".class" files and the uncompressed ear from the sources zip (bolsaDeTrabajo-200805150947.zip) .
You can find the jboss-aop.xml at:
<path to the uncompressed zip>\bolsaDeTrabajo\aop\src\main\resources\META-INF
You can find the aop sources at:
<path to the uncompressed zip>\bolsaDeTrabajo\aop\src\main\java\com\mitalteli\bolsaDeTrabajo\useCaseSlices\specific\consultarVacantes
The sources that are being modified with the AOP coding are spread in the directories:
[common|core|web]\src
and
[common|core|web]\target
If you need to compile, I have some tweeks to do every time. So, once you are in the unziped source in a cmd black window, execute:
mvn clean
mvn install
copiarCapaPresentacion.bat
mvn -f web/pom.xml
mvn -f app/pom.xml
and to deploy it:
mvn -o -f app/pom.xml -Ddeploy
The .ear file gets created at:
<path to the uncompressed zip>\bolsaDeTrabajo\app\target
Thank you very much in advance.
Ely
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4151159#4151159
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4151159
More information about the jboss-user
mailing list