[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] newbie needs help configuring

When I try the call outside the web application, I get this error...
 [junit] Testcase: testAOP(com.myco.AOPTest): Caused an ERROR
 [junit] com.myco.MyAspect.aspectOf()Lcom/myco/MyAspect;
 [junit] java.lang.NoSuchMethodError:
com.myco.MyAspect.aspectOf()Lcom/myco/MyAspect;

That looks pretty significant - any idea what it means? Have I missed
something in implementing my Aspect or the way I'm using the
Annotations?

On 10/14/05, Andy Kriger <andy.kriger@xxxxxxxxx> wrote:
> 1. Yep, using Java 5
> 2. Haven't tried static weaving or logging outside the webapp/SOAP
> call - I'll try those and post a followup.
> 3. Here's what I see in the LTW log...
> info weaving 'com/myco/Service'
> info weaver operating in reweavable mode.  Need to verify any required
> types exist.
> weaveinfo Join point 'method-execution(boolean
> com.myco.Service.isXml(java.lang.String))' in Type 'com.myco.Service'
> (Service.java:2469) advised by after advice from 'com.myco.MyAspect'
> (MyAspect.java)
> weaveinfo Join point 'method-execution(java.lang.String
> com.myco.Service.generateXML(java.lang.String))' in Type
> 'com.myco.Service' (Service.java:2474) advised by after advice from
> 'com.myco.MyAspect' (MyAspect.java)
> etc etc etc for all the methods in Service
>
> I never see it reach a point where AspectJ logs a message about a
> Service method call or " info weaving 'com/myco/MyAspect' ".
>
> Thanks for the help,
> Andy
>
> On 10/14/05, Matthew Webster <matthew_webster@xxxxxxxxxx> wrote:
> >
> > Andy,
> >
> > Hopefully these questions won't seem too silly:
> > 1. The @AspectJ syntax requires Java 5 so I assume you are using that to run
> > AXIS?
> > 2. Have you tried static weaving your application and testing it either
> > outside (JUnit) or inside AXIS that way?
> > 3. Could you post the LTW log or a least the interesting part of it?
> >
> > I have successfylly tried you testcase with my own simple Service class:
> >
> >
> > info weaving 'com/myco/Service'
> > info weaver operating in reweavable mode.  Need to verify any required types
> > exist.
> > weaveinfo Join point 'method-execution(void
> > com.myco.Service.main(java.lang.String[]))' in Type 'com.myco.Service'
> > (Service.java:6) advised by after advice from 'com.myco.MyAspect'
> > (MyAspect.java)
> > Service.main()
> > info weaving 'com/myco/MyAspect'
> > info weaver operating in reweavable mode.  Need to verify any required types
> > exist.
> > info processing reweavable type com.myco.MyAspect: com\myco\MyAspect.java
> > info successfully verified type com.myco.MyAspect exists.  Originates from
> > com\myco\MyAspect.java
> > Aspect logXyPath was called
> >
> > Cheers
> >
> > Matthew Webster
> >  AOSD Project
> >  Java Technology Centre, MP146
> >  IBM Hursley Park, Winchester,  SO21 2JN, England
> >  Telephone: +44 196 2816139 (external) 246139 (internal)
> >  Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
> > http://w3.hursley.ibm.com/~websterm/
> >
> > Please respond to aspectj-users@xxxxxxxxxxx
> >
> > Sent by:        aspectj-users-bounces@xxxxxxxxxxx
> >
> > To:        aspectj-users@xxxxxxxxxxx
> > cc:
> > Subject:        Re: [aspectj-users] newbie needs help configuring
> >
> >
> > The stack trace isn't really meaningful since the only trace I see is
> >  an Axis SOAP Fault that wraps (and masks) the exception being thrown
> >  from within the web application. I cannot see where the trace
> >  originates only really the InvocationTargetException. There's nothing
> >  in the logs that indicates what problem, if any, AspectJ is having. I
> >  already have the verbose switch in the aop.xml. If there's a way to
> >  turn on more logging, please let me know.
> >
> >  On 10/13/05, Alexandru Popescu
> > <the.mindstorm.mailinglist@xxxxxxxxx> wrote:
> >  > #: Andy Kriger changed the world a bit at a time by saying on  10/13/2005
> > 11:06 PM :#
> >  > > I am trying to use load-time weaving in AspectJ 1.5M4 to log our web
> >  > > service running on Axis 1.2 in Tomcat 5.8. Right now I'm trying to get
> >  > > a very simple proof-of-concept working. I make calls to web service
> >  > > methods expecting to see logging to stdout and instead I keep running
> >  > > into InvocationTargetExceptions. I've included my config below.
> >  > >
> >  > > If I comment out the Advice part of MyAspect, everything works fine.
> >  > > I've tried @Before as well as @After - no luck there. I do see
> >  > > "weaveinfo Join point..." info in the logs, so things look like they
> >  > > are being woven. Logging in my code shows everything working through
> >  > > the service method being invoked and then mysteriously throwing the
> >  > > InvocationTargetEception. I can only guess that it's coming from the
> >  > > Advice. I've also tried applying the advice to the class invoked by
> >  > > the service (in case there's some kind of reflection effect from Axis)
> >  > > but I still see the same problem.
> >  > >
> >  > > I really want to show my boss that AOP is valid for our project but
> >  > > right now I'm dead in the water. Can someone can help me figure out
> >  > > what's going on?
> >  > >
> >  > > Thanks in advance,
> >  > > Andy
> >  > >
> >  > > Tomcat is configured to run with the JVM opt
> >  > >
> > -javaagent:/usr/local/tomcat/shared/lib/aspectjweaver.jar
> >  > > and shared/lib contains the lib/*.jar files from the AspectJ distro
> >  > >
> >  > > Here's my aop.xml
> >  > >
> >  > > <aspectj>
> >  > >       <aspects>
> >  > >                <aspect name="com.myco.MyAspect"/>
> >  > >       </aspects>
> >  > >       <weaver options="-verbose -showWeaveInfo">
> >  > >               <include within="com.myco.*"/>
> >  > >       </weaver>
> >  > > </aspectj>
> >  > >
> >  > > Here's my aspect
> >  > >
> >  > > package com.myco;
> >  > >
> >  > > @Aspect
> >  > > public class MyAspect
> >  > > {
> >  > >
> >  > > // on any call to our service
> >  > > @Pointcut("execution( public * com.myco.Service.*(..) )")
> >  > > void csCall() {}
> >  > >
> >  > > // log something
> >  > > @After("csCall()")
> >  > > public void logPath()
> >  > > {
> >  > >       System.out.println("Aspect logXyPath was called");
> >  > > }
> >  > >
> >  > > }
> >  >
> >  > Can you add to the aboves the stacktrace you are getting?
> >  >
> >  > ./alex
> >  > --
> >  > .w( the_mindstorm )p.
> >  >
> >  > _______________________________________________
> >  > 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
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> >
> >
>