...
Même dans une application mûremure, 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 connaître connaitre tout le contexte d'exécution au moment où s'est produite l'erreur :
| | |
...
Le gestionnaire d'exception se configure à l'aide du fichier /properties/exceptionHandling/exceptionHandling-example.xml, dans lequel on déclare le bean exceptionServiceFactory, à partir duquel sont produits les services de gestion des exceptions.
...
On utilisera par exemple :
Bloc de code |
---|
<bean id="exceptionServiceFactory" class="[org.esupportail.commons.]services.exceptionHandling.ExceptionServiceFactoryImplCachingEmailExceptionServiceFactoryImpl" parent="abstractApplicationAwareBean" > <property name="smtpService" ref="smtpService" /> <property name="doNotSendExceptionReportsToDevelopersrecipientEmail" value="false"${exceptionHandling.email}" /> <property name="smtpServiceexceptionViews" ref="smtpService"/> <property name="authenticationService" ref="authenticationService"/> > <map> <entry key="java.lang.Exception" value="go_exception" /> </map> </property> <property name="recipientEmaillogLevel" value="webmaster@domain.edu"${exceptionHandling.logLevel}" /> <property name="cacheManager" ref="cacheManager" /> <property name="logLevelcacheName" refvalue="WARN" /> </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).
...