Je veux utiliser un intercepteur pour mon bean, qui va vérifier la validité d'un jeton de connexion donné.Quelle est la bonne façon de traiter les exceptions dans les intercepteurs dans EJB3?
Si la connexion est invalide, je veux jeter une exception particulière, si la connexion a expiré, je veux envoyer un autre (TokenExpiredException, quelque chose comme ça). Ces exceptions sont incluses dans l'interface donnée au client.
@AroundInvoke
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{
//code to check token
//...
throw new TokenExpiredException();
}
D'après ce que j'ai essayé, lancer une telle exception spécifique dans l'Interceptor conduit à un UndeclaredThrowableException
du côté client. Bien que cette exception inclue la référence à la cause, elle n'est pas vraiment idéale et ne peut pas être traitée avec des clauses de capture régulières.
Quelle est la manière correcte de déclarer différents types d'exceptions avec Interceptors?