Chapter 21. Applying Application Scale Aspects
Application scale aspects affect significant areas of your software and are often characteristics of your software that affect many, even all, of the classes within your application. This chapter focuses on a set of these system scale cross-cutting concerns where AspectJ can be used to implement their characteristics better. The recipes in this chapter can be split into two categories: passive and active aspects.
are interceptors, or observers, or your
application’s logic and do not affect or feedback
into this logic in an obvious way. One of the key characteristics of
a passive aspect is that it will usually only contain
before( ) and
after( ) advice,
around( ) advice is used, it will still
always call the
proceed( ) method.
affect the application to which they
are applied in ways such as changing logical paths through the
software. Although both aspects affect your
application’s code when they are compiled and woven,
active aspects will change the behavior of your application. Active
aspects often contain
around( ) advice that may
not call the
proceed( ) method and can override
the triggering join point that was part of the original business
This chapter begins by showing two passive application scale aspects that implement tracing and logging . Tracing and logging are almost the “Hello World” use cases for AspectJ, partially because they are good examples of flexible and ...