The recommendation to not atttempt to silently acquire tokens applies to public client applications. For Java you should call acquireTokenSilently, catch the MsalException in case there's not cached token and call acquireToken to retrieve and cache a token so you can keep calling acquireTokenSilently.
---
Please let us know if this answer was helpful to you. If so, please remember to mark it as the answer so that others in the community with similar questions can more easily find a solution.