Here's a datapoint: I got LTW working in Resin 3.1.6, but it ignored the
weaver options (in the <weaver> element).  If I wanted to debug, I had to
set one of the system parameters, i.e.

-Dorg.aspectj.weaver.showWeaveInfo=true

Other than that, it processed my aop.xml just file.  Come to think of it, I
ought to make a bug report..

Best,

Larry Edelstein
Senior Member of Technical Staff
salesforce.com

On Thu, Apr 23, 2009 at 2:06 PM, Sudhar <[email protected]> wrote:

> I am trying to do the LTW to dynamically configure the classes that
> participate in advice and trying to deploy the setup in a web application in
> Tomcat 6.*.
> I have created a simple aspect class with logging to entry and exit of
> method calls in a class. And configured the LTW in aop.xml. The whole setup
> works as standalone in Eclipse but NOT in Tomcat.
>
> This is what I did for Tomcat deployment:
> - Used AJDT to compile the source code and aspect. Simply converted the
> project to AspectJProject and moved all the compiled class files to Tomcat
> webapp/WEB-INF/classes folder
> - Copied the aop.xml to webapp/WEB-INF/classes/META-INF folder
> - Copied all aspectJ jars to Tomcat/lib
> - Modified the JVM to include -javaagent:TomcatHome\lib\aspectjweaver.jar
>
> And I see the following outputs in Tomcat but nothing getting weaved. Am I
> missing something? Do I need to change anything in Tomcat setting?
>
> [jasperloa...@3002b9] info AspectJ Weaver Version 1.6.3 built on Tuesday
> Dec 23, 2008 at 17:12:30 GMT
> [jasperloa...@3002b9] info register classloader
> org.apache.jasper.servlet.jasperloa...@3002b9
> [jasperloa...@3002b9] info using configuration
> /C:/apache-tomcat-6.0.14/webapps/ccnn/WEB-INF/classes/META-INF/aop.xml
> [jasperloa...@3002b9] info using configuration
> file:/C:/apache-tomcat-6.0.14/webapps/ccnn/WEB-INF/lib/spring-aspects.jar!/META-INF/aop.xml
> [jasperloa...@3002b9] info register aspect TraceAspect
> [jasperloa...@3002b9] info register aspect
> org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect
> [jasperloa...@3002b9] info register aspect
> org.springframework.transaction.aspectj.AnnotationTransactionAspect
>
> TraceAspect is my aspect class and the other aspects are coming from
> Spring. Here is my aop.xml definition.
>
> <aspectj>
>             <aspects>
>               <aspect name="TraceAspect"> </aspect>
>               <weaver options="-verbose -showWeaveInfo">
>           </weaver>
>             </aspects>
>
>  </aspectj>
>
> And here is my TraceAspect definition:
>
> import gov.bean.ListOfValue;
> import gov.bean.CCNNDocument;
>
> import org.aspectj.lang.Signature;
>
> public abstract aspect TraceAspect{
>     /**
>      * Application classes.
>      */
>     pointcut myClass1(): within(CCNNDocument) || within(ListOfValue);
>     /**
>      * The constructors in those classes.
>      */
>     pointcut myConstructor1(): myClass1() && execution(new(..));
>     /**
>      * The methods of those classes.
>      */
>     pointcut myMethod1(): myClass1() && execution(* *(..));
>
>     /**
>      * Prints trace messages before and after executing constructors.
>      */
>     before (): myConstructor1() {
>         Trace.traceEntry("myConstructor1 - before" +
> thisJoinPointStaticPart.getSignature());
>     }
>     after(): myConstructor1() {
>         Trace.traceExit("myConstructor1 - after" +
> thisJoinPointStaticPart.getSignature());
>     }
>
>     /**
>      * Prints trace messages before and after executing methods.
>      */
>     before (): myMethod1() {
>         Trace.traceEntry("myMethod1 - before" +
> thisJoinPointStaticPart.getSignature());
>     }
>     after(): myMethod1() {
>         Trace.traceExit("myMethod1 - after" +
> thisJoinPointStaticPart.getSignature());
>     }
>     Object around() : myMethod1(){
>         Signature sig = thisJoinPointStaticPart.getSignature();
>         long start = System.currentTimeMillis();
>         try {
>             return proceed();
>         } finally {
>             long end = System.currentTimeMillis();
>             Trace.traceExit("Time taken by [" +
> sig.getDeclaringType().getName() + "."
>                     + sig.getName() + "]" + (end-start));
>         }
>     }
>
> }
>
>
> Thanks,
> - Sudharsan.
>
>
>
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to