]> source.dussan.org Git - aspectj.git/commitdiff
some ltw notes
authoraclement <aclement>
Sat, 27 Sep 2008 17:26:50 +0000 (17:26 +0000)
committeraclement <aclement>
Sat, 27 Sep 2008 17:26:50 +0000 (17:26 +0000)
docs/faq/faq.xml

index 05ddbc90309c45b337e7abcd0cbf097d6049d875..7f5664dfc1a8cd643d0261f8fe3be5b5a1146946 100644 (file)
@@ -4274,6 +4274,33 @@ java -javaagent:aspectjweaver.jar -classpath "aspects.jar:${CLASSPATH}" ..
                </para>
         </answer>
       </qandaentry>
+      <qandaentry>
+        <question id="q:ltwAppServers"
+            xreflabel="Q:How do I get load-time weaving to work in my chosen application server?">
+          <para>How do I get load-time weaving to work in my chosen application server?
+          </para>
+        </question>
+        <answer>
+          <para>You have two choices based on how wide you want the weaving to take effect: application-server wide and application-specific weaving. 
+          You choose between the two by loading aspect artifacts--aspects, associated types, and aop.xml--through the right classloader. 
+          The aop.xml must be in the META-INF directory on the classpath for the chosen classloader. In either case, you modify the 
+          startup script to specify the -javaagent:path-to/aspectjweaver.jar option to the Java virtual machine. Note that it is not 
+          essential that all the artifacts be placed in a single jar.  
+          </para>
+          <para>For application-server wide weaving, you make aspect artifacts accessible to the server's classloader. Typically, you 
+          achieve such access by putting these artifacts in the server's lib directory. For example, for Tomcat, you will place 
+          the aspect artifacts in the TOMCAT_HOME/lib directory.</para>
+                 <para>For application-specific weaving, you make aspect artifacts accessible to application classloader by bundling 
+                 them along with application's classes. For example, for a web application, you will place the aspect artifacts in 
+                 the MY_APP/WEB-INF/lib and/or MY_APP/WEB-INF/classes directory.</para>
+             <para>
+                 We recommend that you start with application-specific weaving.
+          Note that you have an additional option if your application is based on the Spring framework. If you deploy in one of 
+          the supported web servers or application servers, you can avoid modifications to the startup script. Please 
+          see <ulink url="http://static.springframework.org/spring/docs/2.5.x/reference/aop.html#aop-aj-ltw-spring">http://static.springframework.org/spring/docs/2.5.x/reference/aop.html#aop-aj-ltw-spring</ulink> for more details.
+          </para>
+        </answer>
+      </qandaentry>
       <qandaentry>
         <question id="q:reflection"
             xreflabel="Q:Does AspectJ use reflection at runtime?">