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 deux façons d'informer le
org.hibernate.service.ServiceRegistryBuilder à propos de services personnalisés.
- Implémenter une classe
org.hibernate.service.spi.BasicServiceInitiatorpour contrôler la construction sur demande de la classe du service et y ajouter leorg.hibernate.service.ServiceRegistryBuildervia sa méthodeaddInitiator. - Il vous suffit d'instancier la classe de service et de l'ajouter au
org.hibernate.service.ServiceRegistryBuildervia 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é