Potrebbe essere meglio concedere effettivamente l'accesso su mysql.proc
tabella all'utente dell'applicazione. Quindi connettiti al tuo database MySQL come root ed esegui quanto segue:
GRANT SELECT ON `mysql`.`proc` TO '<username>'@'%';
La tua app Java dovrebbe quindi essere in grado di vedere i metadati corretti senza dover specificare noAccessToProcedureBodies=true
Assicurarsi inoltre che l'utente con cui ci si connette al database disponga dei privilegi di esecuzione sulla procedura in questione. Anche in questo caso, come utente root o come utente con privilegi di concessione:
GRANT EXECUTE ON PROCEDURE db.storedproc TO '<username>'@'%';
Buona fortuna!