Code Quality · JetBrains plugin
Async Self-Invocation Companion
FreeSpring Framework Pitfalls
Warning icon on a call to a Spring @Async method made from another method of the same declaring class: Spring's own documentation states this bypasses the AOP proxy entirely: "a call to the async-marked method from within the target object is not intercepted... self-invocation... effectively bypasses the proxy and its interceptor chain." The call still compiles and runs: just synchronously
The gap it fixes
this.notifyWarehouse() (or the unqualified notifyWarehouse()) compiles fine and looks correct — the method really is annotated @Async. It just never runs asynchronously, because the call never goes through Spring's proxy. The bug is invisible until someone notices the "async" call is blocking the caller.
Facts and pricing
- Category
- Code Quality
- Pricing
- Free
- Platform
- IntelliJ-family
- First published
- 2026-08-27
- Marketplace ID
- #33874
- Repository
async-self-invocation-companion- Growth
- New listing
Related plugins
All Code Quality pluginsPreview every refactoring before committing it. Simulates a rename in an isolated, in-memory sandbox (using IntelliJ's own PSI, Find Usages, and refactoring processors, never a custom engine) and shows a full impact report, deterministic validation, and a native side-by-side diff before anything touches a real file.
A cognitive-complexity gutter icon for Java and Kotlin methods/functions: a colored badge with the real number, computed with SonarSource's documented Cognitive Complexity algorithm, never blocking the UI thread.
Shows errors and warnings inline, at the end of the line that has them, instead of only as a gutter icon or a squiggly underline you have to hover to read. One hint per line (most severe diagnostic wins) so it never turns into unreadable clutter.
Gutter icon next to every recognized feature-flag-check call's key literal in Java/Kotlin code (isEnabled("checkout_v2"), variation("checkout_v2", false), and similar), showing how many times that exact key is referenced anywhere else in the open project: helps find orphaned flags (dead code left behind after a rollout completed) without connecting to any provider. 100
Download and star counts as of 2026-10-18, refreshed twice daily from the JetBrains Marketplace and GitHub APIs.