Inspectopedia
 
2024.3

Incorrect usage of @CachePut and @Cacheable on the same method

Warning
New
Last modified: 03 December 2024

Reports @CachePut and @Cacheable annotations declared on the same method.

While @Cacheable causes the method to skip the execution using the cache, @CachePut forces the execution in order to update the cache. This leads to unexpected behavior and should be avoided, except in very specific cases when conditions in annotations exclude them from each other. Note also that such conditions should not rely on the result object (the #result variable) as these are validated upfront to confirm the exclusion.