Abstract implementation of TransactionAttributeSource that caches attributes
for methods, and implements fallback policy of 1. most specific method;
2. target class attribute; 3. declaring method; 4. declaring class.
Defaults to using class's transaction attribute if none is associated
with the target method. Any transaction attribute associated with the
target method completely overrides a class transaction attribute.
This implementation caches attributes by method after they are first used.
If it's ever desirable to allow dynamic changing of transaction attributes
(unlikely) caching could be made configurable. Caching is desirable because
of the cost of evaluating rollback rules.
Defaults to using class's transaction attribute if none is associated with the target method. Any transaction attribute associated with the target method completely overrides a class transaction attribute.
This implementation caches attributes by method after they are first used. If it's ever desirable to allow dynamic changing of transaction attributes (unlikely) caching could be made configurable. Caching is desirable because of the cost of evaluating rollback rules.