Chapter 21. Applying Application Scale Aspects
Introduction
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.
Passive 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,
and if around( )
advice is used, it will still
always call the proceed( )
method.
Active aspects
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
logic.
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 ...
Get AspectJ Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.