JBoss.org Community Documentation
JBoss AOP has the ability to apply interceptors on a per instance basis rather than having interceptors be applied entirely to the class. This is very useful when you have instances of an object that need to behave differently in different circumstances.
A perfect example of this is JBoss Cache AOP (TreeCacheAOP). It uses AOP to prepare
classes so that field access may be intercepted. When an object is inserted into the cache, TreeCacheAOP
adds field interceptors for that particular instance so that it can do automatic replication across a cluster
or to automatically provide transaction properties to the object's state. When the object is removed from
cache, the field interceptors are removed from that particular instance.