12.5.5. Services personnalisés
12.5.5.1. Services personnalisés Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Une fois qu'un
org.hibernate.service.ServiceRegistry
est créé, il est considéré comme immuable. Les services eux-mêmes pourraient accepter une reconfiguration, mais ici, l'immuabilité signifie un ajout/remplacement des services. Et donc, un autre rôle assuré par org.hibernate.service.ServiceRegistryBuilder
est de permettre de peaufiner des services qui figureront dans le org.hibernate.service.ServiceRegistry
qu'il génère.
Il y a 2 façons d'informer le
org.hibernate.service.ServiceRegistryBuilder
à propos de services personnalisés.
- Implémenter une classe
org.hibernate.service.spi.BasicServiceInitiator
pour contrôler la construction sur demande de la classe du service et y ajouter leorg.hibernate.service.ServiceRegistryBuilder
via sa méthodeaddInitiator
. - Il vous suffit d'instancier la classe de service et de l'ajouter au
org.hibernate.service.ServiceRegistryBuilder
via sa méthodeaddService
.
L'ajout d'une approche de service ou l'ajout d'une approche d'initiateur sont valables pour l'extension d'un registre (ajout de nouveaux rôles de service) et pour la substitution de services (remplacer les implémentations de service).
Exemple 12.22. Utiliser ServiceRegistryBuilder pour remplacer un service existant par un service personnalisé