Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Load time weaving problem

I try `ajc -outxmlfile aop.xml observer/Inspector.aj `

and then run

export ASPECTPATH=$ASPECTJ_HOME/lib/aspectrt.jar:./lib/inspect.jar

aj -javaagent:$ASPECTJ_HOME/lib/aspectjweaver.jar -cp ./:./lib/inspect.jar:./aop.xml character.Person

but it still does not work.  The output still display 'Jason speak:  This is a book!"' only.

Is this the correct aop.xml conf setting?

the aop.xml is 

<aspectj>
<aspects>
<aspect name="observer.Inspector"/>
</aspects>
</aspectj>


--- On Sat, 6/9/08, Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> wrote:

> From: Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx>
> Subject: Re: [aspectj-users] Load time weaving problem
> To: javadeveloper999@xxxxxxxxxxx
> Cc: aspectj-users@xxxxxxxxxxx
> Date: Saturday, 6 September, 2008, 7:23 PM
> The way I understand it that enabling the agent is not
> enough, you  
> also need the aop.xml file as well.
> 
> Ron DiFrango
> 
> On Sep 6, 2008, at 3:19 PM, Neo Anderson wrote:
> 
> > I specify the agent on the step 4 where there includes
> '-javaagent:/ 
> > path/to/aspectj1.6/lib/aspectjweaver.jar'  as
> stated in the  
> > configuration page., unless I misunderstand its
> meaning (.If so,  
> > please tell me the right format.)
> >
> > Thank you very much,
> >
> >
> > --- On Sat, 6/9/08, Ron DiFrango
> <rdifrango@xxxxxxxxxxxxxxxxxxx>  
> > wrote:
> >
> > > From: Ron DiFrango
> <rdifrango@xxxxxxxxxxxxxxxxxxx>
> > > Subject: RE: [aspectj-users] Load time weaving
> problem
> > > To: javadeveloper999@xxxxxxxxxxx,
> aspectj-users@xxxxxxxxxxx,  
> > aspectj-users@xxxxxxxxxxx
> > > Date: Saturday, 6 September, 2008, 6:36 PM
> > > I am not LTW expert, but do you have an aop.xml
> file defined
> > > and on the classpath like the documentation says
> here:
> > >
> > >
> http://www.eclipse.org/aspectj/doc/released/devguide/ltw- 
> > configuration.html
> > >
> > > If so, maybe supplying that as well would help.
> > >
> > > Ron DiFrango
> > > Manager / Architect
> > > Cap Tech Ventures, Inc
> (http://www.captechventures.com)
> > > Blog (http://www.captech-soa.blogspot.com)
> > > Cell: 804-855-9196
> > > Work: 804-545-8742
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: aspectj-users-bounces@xxxxxxxxxxx on behalf
> of Neo
> > > Anderson
> > > Sent: Sat 9/6/2008 1:58 PM
> > > To: aspectj-users@xxxxxxxxxxx
> > > Subject: Re: [aspectj-users] Load time weaving
> problem
> > >
> > > I fix that problem, but I still can not run
> load-time
> > > weaving. There is no error, it only produces
> result as there
> > > is no weaving at all.
> > >
> > > The step to run the example is
> > >
> > > 1.) javac -classpath ./ character/Person.java
> > >
> > > 2.) ajc observer/Inspector.aj
> > >
> > > 3.) ajc -outjar ./lib/inspect.jar
> observer/Inspector.aj
> > >
> > > warning at this step:
> > >
> > > Inspector.aj:4 [warning] no match for this type
> name:
> > > character.Person [Xlint:invalidAbsoluteTypeName]
> > > pointcut observer(): execution(*
> > > character.Person.speak(..)); // &&
> this(Person);
> > >                                 
> ^^^^^^^^^^^^^^^^^^^^
> > >         [Xlint:invalidAbsoluteTypeName]
> > >
> > >
> > > 4.) export
> > >
> ASPECTPATH=./lib/inspect.jar:$ASPECTJ_HOME/lib/aspectjrt.jar
> > >
> > > 5.) aj
> > >
> -javaagent:/home/neo/app/aspectj1.6/lib/aspectjweaver.jar
> > > -cp ./ character.Person
> > >
> > > what might go wrong?
> > >
> > > Thanks in advice,
> > >
> > > The source now is as below:
> > >
> > > package character;
> > >
> > > public class Person{
> > >         private String name;
> > >
> > >         public Person(String name){
> > >                 this.name = name;
> > >         }
> > >
> > >         public String getName(){
> > >                 return this.name;
> > >         }
> > >         public void setName(String name){
> > >                 this.name = name;
> > >         }
> > >
> > >         public void speak(String sentence){
> > >                
> System.out.println(this.name+" say :
> > > '"+sentence+"'");
> > >         }
> > >
> > >         public static void main(String args[]){
> > >                 new
> > > Person("Jason").speak("This is a
> > > book!");
> > >         }
> > >
> > > }
> > >
> > > package observer;
> > >
> > > public aspect Inspector{
> > >         pointcut observer(): execution(*
> > > character.Person.speak(..)); // &&
> this(Person);
> > >
> > >         before(): observer(){
> > >                 System.out.println("before
> speaking
> > > something, thinking ...");
> > >         }
> > > }
> > >
> > >
> > >
> > > --- On Sat, 6/9/08, Andrew Eisenberg
> > > <andrew@xxxxxxxxxxxx> wrote:
> > >
> > > > From: Andrew Eisenberg
> <andrew@xxxxxxxxxxxx>
> > > > Subject: Re: [aspectj-users] Load time
> weaving problem
> > > > To: javadeveloper999@xxxxxxxxxxx,
> > > aspectj-users@xxxxxxxxxxx
> > > > Date: Saturday, 6 September, 2008, 4:48 PM
> > > > When using LTW, the first step is to ensure
> that your
> > > > pointcuts are
> > > > applying to the correct joinpoints. 
> Unfortunately,
> > > AJDT
> > > > doesn't help
> > > > much with this.
> > > >
> > > > My suggestion to you is to turn off LTW and
> try to get
> > > the
> > > > program
> > > > working using standard compile time weaving.
> > > You'll
> > > > find that your
> > > > pointcut isn't correct.
> > > >
> > > > If you can't figure it ask again and
> I'll tell
> > > you
> > > > how to fix your pointcut.
> > > >
> > > > On Sat, Sep 6, 2008 at 7:41 AM, Neo Anderson
> > > > <javadeveloper999@xxxxxxxxxxx> wrote:
> > > > > I am learning to use load-time weaving
> features
> > > > provided by aspectj, but I can not get my
> example
> > > worked
> > > > whilst running it.  The problem is that the
> load-time
> > > > weaving seems not work.
> > > > >
> > > > > There are two classes named
> character/Person.java
> > > and
> > > > observer/Inspector.aj (source is as listed )
> .
> > > > >
> > > > > The way how I compile it is
> > > > > 1.) compile Person.java
> > > > >  javac -classpath ./
> character/Person.java
> > > > > 2.) compile aspectj source
> > > > >  ajc -1.6  observer/Inspector.aj  (This
> step
> > > issues
> > > > warning which oreilly's aspectj cookbook
> says it
> > > is ok)
> > > > >
> > > > > [warning] no match for this type name:
> Person
> > > > [Xlint:invalidAbsoluteTypeName]
> > > > > pointcut observer(): execution(*
> speak(..))
> > > &&
> > > > this(Person);
> > > > >
> > >
> > > > ^^^^
> > > > >        [Xlint:invalidAbsoluteTypeName]
> > > > >
> > > >
> > >
> /home/neo/workspace/coding/aspectj/load-time-weaving/observer/
> 
> > Inspector.aj:6
> > > > [warning] advice defined in
> observer.Inspector has not
> > > been
> > > > applied [Xlint:adviceDidNotMatch]
> > > > >
> > > > > 3.)  produce outjar and export it in
> ASPECTPATH
> > > > > ajc -outjar lib/inspector.jar
> > > observer/Inspector.aj
> > > > > export ASPECTPATH=./lib/inspect.jar
> > > > >
> > > > > 4.) run example
> > > > > aj
> -javaagent:$ASPECTJ_HOME/lib/aspectjweaver.jar
> > > -cp
> > > > ./ character.Person
> > > > >
> > >
> > > > > The result only shows "Jason speak
> : This is
> > > a
> > > > book!" without weaving.
> > > > >
> > > > > What I expect is
> > > > > stage before speaking something!
> > > > > Jason speak : This is a book!
> > > > >
> > > > > Where did I do it wrong?
> > > > >
> > > > > My env: aspectj1.6/ open suse 11.0
> 64bit/kernel
> > > > 2.6.25-1.1-default/ jdk1.6.x
> > > > >
> > > > > I appreciate any advice,
> > > > >
> > > > > Thank you very much
> > > > >
> > > > > The source is as below:
> > > > >
> > > > > package character;
> > > > >
> > > > > public class Person{
> > > > >        private String name;
> > > > >
> > > > >        public Person(String name){
> > > > >                this.name = name;
> > > > >        }
> > > > >
> > > > >        public String getName(){
> > > > >                return this.name;
> > > > >        }
> > > > >        public void setName(String
> name){
> > > > >                this.name = name;
> > > > >        }
> > > > >
> > > > >        public void speak(String
> sentence){
> > > > >
> > > System.out.println(this.name+"
> > > > speak : "+sentence);
> > > > >        }
> > > > >
> > > > >        public static void main(String
> args[]){
> > > > >                new
> > > > Person("Jason").speak("This
> is a
> > > > book!");
> > > > >        }
> > > > > }
> > > > >
> > > > > package observer;
> > > > >
> > > > > public aspect Inspector{
> > > > >        pointcut observer(): execution(*
> > > speak(..))
> > > > && this(Person);
> > > > >
> > > > >        before(): observer(){
> > > > >               
> System.out.println("stage
> > > before
> > > > speaking something!");
> > > > >        }
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> _______________________________________________
> > > > > aspectj-users mailing list
> > > > > aspectj-users@xxxxxxxxxxx
> > > > >
> > >
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> > > > >
> > >
> > >
> > >
> > > _______________________________________________
> > > aspectj-users mailing list
> > > aspectj-users@xxxxxxxxxxx
> > >
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> >
> >
> >





Back to the top