Je migre mon application Seam 2 alimentée par CDI et l'un des éléments critiques pour ma conservation est la gestion des erreurs. Dans Seam 2, j'ai simplement remplacé le gestionnaire d'exceptions par défaut par le mien, mais dans CDI, je suppose que je vais devoir utiliser un Interceptor.CDI - gestion des erreurs
Comment est-ce que je configurerais ceci comme utilisant un Interceptor m'oblige à spécifier où il va intercepter des appels? Je veux surtout effectuer l'audit, donc quand une exception se produit, elle est enregistrée, puis une notification (email, xmpp, sms, appel téléphonique) est envoyée aux administrateurs.
Lorsqu'une exception se produit, y a-t-il simplement un événement sur lequel je peux écouter et agir?
Walter
Cela ressemble à un bon candidat. Je veux aussi attraper des exceptions de m emplois asynchrones dans un endroit central. J'aurai peut-être 1 pour chacun, un pour JSF et un pour les travaux asynchrones. –
Exception multipleHandlerFactories? N'a pas essayé ça. Peut-être pourriez-vous me dire si cela fonctionne. Un conseil supplémentaire: si vous déballez l'exception dans ExceptionHandlerFactory (son enveloppe dans FacesException, parfois aussi EvaluationException) à son type d'origine et le lancez à l'intérieur de l'usine, vous pouvez gérer les exceptions de manière déclarative dans le fichier web.xml (mais vous avez faire quelques trucs transmettent des informations sur l'exception à une page jsf). – ifischer