Inspectopedia Help

Cache* annotations defined on interfaces/interface methods

Reports @Cache* annotations on interfaces.

You should annotate only concrete classes (and methods of concrete classes) with @Cache*. Annotating an interface (or an interface method) with @Cache* requires using interface-based proxies. Since Java annotations are not inherited from interfaces, the proxying and weaving infrastructure will not be able to recognize the caching settings when using class-based proxies (proxy-target-class="true") or the weaving-based aspect (mode="aspectj"). As a result, the object will not be wrapped in a caching proxy.

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Spring, 241.16690

Last modified: 29 April 2024