Remarque |
---|
A vérifier |
Astuce |
---|
Relecture RB faite le 17/02/2011 |
Généralités
Même dans une application mure, il n'est de cas pour lesquels une exception ne puisse se produire. esup-commons offre une gestion des exceptions qui évite au développeur de recevoir le message traditionnel de Tomcat :
Ou encore celui de uPortal :
esup-commons permet de remonter les exceptions de manière propre, par exemple :
Cette gestion des exceptions est une véritable aide au développeur, qui peut ainsi connaitre tout le contexte d'exécution au moment où s'est produite l'erreur :
| | |
...
Bloc de code |
---|
<bean
id="exceptionServiceFactory"
class="org.esupportail.commons.services.exceptionHandling.CachingEmailExceptionServiceFactoryImpl"
parent="abstractApplicationAwareBean">
<property name="smtpService" ref="smtpService" />
<property name="recipientEmail" value="${exceptionHandling.email}" />
<property name="exceptionViews" >
<map>
<entry key="java.lang.Exception" value="go_exception" />
</map>
</property>
<property name="logLevel" value="${exceptionHandling.logLevel}" />
<property name="cacheManager" ref="cacheManager" />
<property name="cacheName" value="" />
</bean>
|
* La propriété smtpService est le service d'envois des messages électroniques.
- La propriété authenticationService est le service d'authentification, qui permet d'accéder aux informations relatives à l'utilisateur connecté afin de pouvoir ajouter cette information dans les messages d'erreur. Cette propriété est facultative, en particulier en mode batch.La propriété recipientEmail est l'adresse mail où seront envoyés les messages d'erreur.
- La propriété cachemanager est le gestionnaire de cache.
- La propriété logLevel indique le niveau de log des rapports d'exception (ERROR par défaut).
...
Utilisation de plusieurs vues d'exceptions
Il est possible depuis la version 0.17.2 d'utiliser plusieurs vues d'exceptions en fonction de l'exception levée par l'application :
...
Ne pas envoyer de courrier électronique pour certaines exceptions
Il est possible depuis la version 0.17.3 de ne pas envoyer de courrier électronique pour certaines exceptions, en ajoutant la propriété suivante :
...