JBoss.org Community Documentation
<aspect class="org.jboss.MyAspect" scope="PER_VM"/>
The
scope
attribute defines when an instance of the aspect should be created. An aspect
can be created per vm, per class, per instance, or per joinpoint.
Name | Description |
---|---|
PER_VM | One and only instance of the aspect class is allocated for the entire VM. |
PER_CLASS | One and only instance of the aspect class is allocated for a particular class. This instance will be created if an advice of that aspect is bound to that particular class. |
PER_INSTANCE | An instance of an aspect will be created per advised object instance. For instance, if a method has an advice attached to it, whenever an instance of that advised class is allocated, there will also be one created for the aspect. |
PER_JOINPOINT | An instance of an aspect will be created per joinpoint advised. If the joinpoint is a static member (constructor, static field/method), then there will be one instance of the aspect created per class, per joinpoint. If the joinpoint is a regular non-static member, than an instance of the aspect will be created per object instance, per joinpoint. |
PER_CLASS_JOINPOINT | An instance of an aspect will be created per advised joinpoint. The aspect instance is shared between all instances of the class (for that joinpoint). |
Table 5.1. Aspect instance scope