This is an example that illustrates using JBossCacheAop to replicate
over a cluster state information about students and the courses they take.

In this example, no special pre-compilation of the classes in the domain model
is done (just normal javac compilation).  Instead, the build process creates
an instance of org.jboss.aop.hook.GeneratedInstrumentedClassLoader and uses
it as the system classloader for the application.  The GeneratedInstrumentedClassLoader
instruments the domain model classes at load time.

The example involves 4 domain model classes, Person, Student, Address
and Course.  Student is a subclass of Person.  A Person has an Address, while
a Student can be registered for 0 or more Courses.

The class test.examples.StudentMaintTest:

1. Creates two TreeCacheAop instances.
2. Creates two Student instances, assigns them an Address and a Course, and then
puts them in the cache.
3. Changes various state fields related to the Students and Courses, and 
generates output to stdout to show that the state changes are reflected in the 
other node in the cache.

The java source files for the example as well as the jboss-aop.xml file
used by aopc can be found in the src directory.

You can run the example through Ant.

1. Run "build.bat compile" to do a standard Java compilation. 

3. Run "build.bat run.aop.example" to run the example.  This target
will generate a special classloader, and use it to run the example.

