Class BootstrapServiceRegistryImpl
java.lang.Object
org.hibernate.boot.registry.internal.BootstrapServiceRegistryImpl
- All Implemented Interfaces:
AutoCloseable,BootstrapServiceRegistry,ServiceRegistry,ServiceBinding.ServiceLifecycleOwner,ServiceRegistryImplementor
public class BootstrapServiceRegistryImpl
extends Object
implements ServiceRegistryImplementor, BootstrapServiceRegistry, ServiceBinding.ServiceLifecycleOwner
ServiceRegistry implementation containing specialized "bootstrap" services, specifically:-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a BootstrapServiceRegistryImpl.BootstrapServiceRegistryImpl(boolean autoCloseRegistry, ClassLoaderService classLoaderService, LinkedHashSet<Integrator> providedIntegrators) Constructs a BootstrapServiceRegistryImpl.BootstrapServiceRegistryImpl(boolean autoCloseRegistry, ClassLoaderService classLoaderService, StrategySelector strategySelector, IntegratorService integratorService) Constructs a BootstrapServiceRegistryImpl.BootstrapServiceRegistryImpl(ClassLoaderService classLoaderService, LinkedHashSet<Integrator> providedIntegrators) Constructs a BootstrapServiceRegistryImpl.BootstrapServiceRegistryImpl(ClassLoaderService classLoaderService, StrategySelector strategySelector, IntegratorService integratorService) Constructs a BootstrapServiceRegistryImpl. -
Method Summary
Modifier and TypeMethodDescription<R extends Service>
voidconfigureService(ServiceBinding<R> binding) voidWhen a registry is created with a parent, the parent is notified of the child via this callback.voiddestroy()Release resources<T extends Service>
TfromRegistryOrChildren(Class<T> serviceRole) @Nullable ServiceRegistryRetrieve this registry's parent registry.<R extends Service>
@Nullable RgetService(Class<R> serviceRole) Retrieve a service by role, returning null if there is no such service.<R extends Service>
RinitiateService(ServiceInitiator<R> serviceInitiator) <R extends Service>
voidinjectDependencies(ServiceBinding<R> binding) booleanisActive()<R extends Service>
ServiceBinding<R> locateServiceBinding(Class<R> serviceRole) Locate the binding for the given role.voidWhen a registry is created with a parent, the parent is notified of the child via this callback.<R extends Service>
voidstartService(ServiceBinding<R> binding) <R extends Service>
voidstopService(ServiceBinding<R> binding) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.service.ServiceRegistry
requireServiceMethods inherited from interface org.hibernate.service.spi.ServiceRegistryImplementor
close
-
Constructor Details
-
BootstrapServiceRegistryImpl
public BootstrapServiceRegistryImpl()Constructs a BootstrapServiceRegistryImpl. Do not use directly generally speaking. UseBootstrapServiceRegistryBuilderinstead.- See Also:
-
BootstrapServiceRegistryImpl
public BootstrapServiceRegistryImpl(ClassLoaderService classLoaderService, LinkedHashSet<Integrator> providedIntegrators) Constructs a BootstrapServiceRegistryImpl. Do not use directly generally speaking. UseBootstrapServiceRegistryBuilderinstead.- Parameters:
classLoaderService- The ClassLoaderService to useprovidedIntegrators- The group of explicitly provided integrators- See Also:
-
BootstrapServiceRegistryImpl
public BootstrapServiceRegistryImpl(boolean autoCloseRegistry, ClassLoaderService classLoaderService, LinkedHashSet<Integrator> providedIntegrators) Constructs a BootstrapServiceRegistryImpl. Do not use directly generally speaking. UseBootstrapServiceRegistryBuilderinstead.- Parameters:
autoCloseRegistry- See discussion onBootstrapServiceRegistryBuilder.disableAutoClose()classLoaderService- The ClassLoaderService to useprovidedIntegrators- The group of explicitly provided integrators- See Also:
-
BootstrapServiceRegistryImpl
public BootstrapServiceRegistryImpl(ClassLoaderService classLoaderService, StrategySelector strategySelector, IntegratorService integratorService) Constructs a BootstrapServiceRegistryImpl. Do not use directly generally speaking. UseBootstrapServiceRegistryBuilderinstead.- Parameters:
classLoaderService- The ClassLoaderService to usestrategySelector- The StrategySelector to useintegratorService- The IntegratorService to use- See Also:
-
BootstrapServiceRegistryImpl
public BootstrapServiceRegistryImpl(boolean autoCloseRegistry, ClassLoaderService classLoaderService, StrategySelector strategySelector, IntegratorService integratorService) Constructs a BootstrapServiceRegistryImpl. Do not use directly generally speaking. UseBootstrapServiceRegistryBuilderinstead.- Parameters:
autoCloseRegistry- See discussion onBootstrapServiceRegistryBuilder.disableAutoClose()classLoaderService- The ClassLoaderService to usestrategySelector- The StrategySelector to useintegratorService- The IntegratorService to use- See Also:
-
-
Method Details
-
getService
Description copied from interface:ServiceRegistryRetrieve a service by role, returning null if there is no such service. If service is not found, but aServiceInitiatoris registered for this service role, the service will be initialized and returned. Most of the time, use ofServiceRegistry.requireService(Class)is preferred, being much less likely to cause aNullPointerExceptionin the client.- Specified by:
getServicein interfaceServiceRegistry- Type Parameters:
R- The service role type- Parameters:
serviceRole- The service role- Returns:
- The requested service or null if the service was not found.
-
locateServiceBinding
Description copied from interface:ServiceRegistryImplementorLocate the binding for the given role. Should, generally speaking, look into parent registry if one.- Specified by:
locateServiceBindingin interfaceServiceRegistryImplementor- Type Parameters:
R- generic return type.- Parameters:
serviceRole- The service role for which to locate a binding.- Returns:
- The located binding; may be
null
-
destroy
public void destroy()Description copied from interface:ServiceRegistryImplementorRelease resources- Specified by:
destroyin interfaceServiceRegistryImplementor
-
isActive
public boolean isActive() -
getParentServiceRegistry
Description copied from interface:ServiceRegistryRetrieve this registry's parent registry.- Specified by:
getParentServiceRegistryin interfaceServiceRegistry- Returns:
- The parent registry. May be null.
-
initiateService
- Specified by:
initiateServicein interfaceServiceBinding.ServiceLifecycleOwner
-
configureService
- Specified by:
configureServicein interfaceServiceBinding.ServiceLifecycleOwner
-
injectDependencies
- Specified by:
injectDependenciesin interfaceServiceBinding.ServiceLifecycleOwner
-
startService
- Specified by:
startServicein interfaceServiceBinding.ServiceLifecycleOwner
-
stopService
- Specified by:
stopServicein interfaceServiceBinding.ServiceLifecycleOwner
-
registerChild
Description copied from interface:ServiceRegistryImplementorWhen a registry is created with a parent, the parent is notified of the child via this callback.- Specified by:
registerChildin interfaceServiceRegistryImplementor
-
deRegisterChild
Description copied from interface:ServiceRegistryImplementorWhen a registry is created with a parent, the parent is notified of the child via this callback.- Specified by:
deRegisterChildin interfaceServiceRegistryImplementor
-
fromRegistryOrChildren
- Specified by:
fromRegistryOrChildrenin interfaceServiceRegistryImplementor
-