General
BEA integration
Other
AspectWerkz
is a dynamic, lightweight and
high-performant AOP/AOSD framework for Java.
You can post-process (instrument/transform) your source files before use. See the Startup and transformations section.
You can also use one of the several options to start your application with AspectWerkz enabled without
the command line tool.
For a complete discussion on this topic, see the
Online architecture section.
Basically it just invokes the normal java command line tool
by calling a class that intercepts the normal class loading
scheme before it invokes the main class specified. This means
that you can just substitute the normal call to:
java -cp .. -D.. mainclass args
with:
aspectwerkz -cp .. -D.. mainclass args
and everything should work as before, the only difference
is that all classes that are loaded will be transformed
(if they are defined to). You can even hack the startup
script of your favorite application server and start it up
using the
aspectwerkz
command line tool as
outlined above, or using directly aspectwerkz-core-
version.jar facilities.
The key advantage of the command line tool when you startup your application
thru it is that it provides an autodetection mechanism for java 1.3 / java 1.4 support.
The online architecture differs between these two java version.
For full control on the behavior of AspectWerkz online mode (dump class, verbosity), you should
avoid using the command line tool.
Read more in the
Online architecture section.
Actually no. You will still be able to to all the things covered in the Hot deployment section of the documentation. Like swapping the implementation of a Introduction or change the order or of advices and so on. The only things you can not do are introducing new Introductions and advise new methods.
The DTD is provided since 0.8. Each distribution comes with a bundled DTD so that it is not looked
for on the web at runtime.
When you write your XML definition file, add the following at the top of your XML.
<!DOCTYPE aspectwerkz PUBLIC "-//AspectWerkz//DTD 1.0//EN" "http://aspectwerkz.codehaus.org/dtd/aspectwerkz_1_0.dtd">
<!DOCTYPE aspectwerkz PUBLIC "-//AspectWerkz//DTD//EN" "http://aspectwerkz.codehaus.org/dtd/aspectwerkz.dtd">
The Ant or Maven based build will fail if the
ASPECTWERKZ_HOME
(basedir) is a directory
whose name contains whitespace(s). This would drastically complexify the script if we had to
escape the whitespaces and thus this is not supported for convenience reason.
The AspectWerkz online and offline mode (command line tool etc) support path whose elements contains whitespace(s) in their names.
java.lang.ClassLoader
.
piccolo-1.03.jar
file in your
JAVA_HOME/jre/lib/ext/
.
-Djavax.xml.parsers.SAXParserFactory=com.bluecast.xml.JAXPSAXParserFactory
.
piccolo-1.03.jar
file from your
JAVA_HOME/jre/lib/ext/
when done.