23.2.8. Configuration pour la gestion des exceptions
Hibernate Search permet de configurer comment les exceptions sont gérées durant le processus d'indexation. Si aucune configuration n'est fournie, alors les exceptions sont consignées à la sortie du journal par défaut. Il est possible de déclarer explicitement le mécanisme de journalisation d'exception comme suit :
hibernate.search.error_handler = log
La gestion des exceptions par défaut se produit à la fois pour l'indexation synchrone et asynchrone. Hibernate Search fournit un mécanisme simple pour substituer l'implémentation de gestion des erreurs par défaut.
Afin de fournir votre propre implémentation, vous devez implémenter l'interface
ErrorHandler
, qui fournit la méthode de gérer (cadre ErrorContext)
. ErrorContext
fournit une référence à l'instance principale de LuceneWork
, à l'exception sous-jacente et à toute instance LuceneWork
suivante qui n'aurait pas pu été traitée à cause de l'exception principale.
public interface ErrorContext { List<LuceneWork> getFailingOperations(); LuceneWork getOperationAtFault(); Throwable getThrowable(); boolean hasErrors(); }
Pour enregistrer ce gestionnaire d'erreurs avec Hibernate Search, vous devez déclarer le classname complet de votre implémentation
ErrorHandler
dans les propriétés de configuration :
hibernate.search.error_handler = CustomerErrorHandler