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.
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
SpringCacheAnnotationsOnInterfaceInspection- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Inspection ID: SpringCacheAnnotationsOnInterfaceInspection
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |