List of usage examples for org.hibernate.service.spi ServiceRegistryImplementor getService
<R extends Service> R getService(Class<R> serviceRole);
From source file:br.com.fabiose.book.utils.MultiTenantConnectionProviderImpl.java
@Override public void injectServices(ServiceRegistryImplementor registry) { Map settings = registry.getService(ConfigurationService.class).getSettings(); provider.configure(settings);/* w w w. j ava 2 s . c o m*/ provider.injectServices(registry); }
From source file:com.blogspot.hwellmann.multitenancy.hibernate.SchemaMultiTenantConnectionProvider.java
License:Apache License
@Override public void injectServices(ServiceRegistryImplementor serviceRegistry) { final Object dataSourceConfigValue = serviceRegistry.getService(ConfigurationService.class).getSettings() .get(AvailableSettings.DATASOURCE); if (dataSourceConfigValue == null || !String.class.isInstance(dataSourceConfigValue)) { throw new HibernateException("Improper set up of DataSourceBasedMultiTenantConnectionProviderImpl"); }// www .j a v a2 s . c o m final String jndiName = (String) dataSourceConfigValue; jndiService = serviceRegistry.getService(JndiService.class); if (jndiService == null) { throw new HibernateException( "Could not locate JndiService from DataSourceBasedMultiTenantConnectionProviderImpl"); } final Object namedObject = jndiService.locate(jndiName); if (namedObject == null) { throw new HibernateException("JNDI name [" + jndiName + "] could not be resolved"); } if (DataSource.class.isInstance(namedObject)) { final int loc = jndiName.lastIndexOf("/"); this.baseJndiNamespace = jndiName.substring(0, loc); this.tenantIdentifierForAny = jndiName.substring(loc + 1); dataSourceMap().put(tenantIdentifierForAny, (DataSource) namedObject); } else if (Context.class.isInstance(namedObject)) { this.baseJndiNamespace = jndiName; this.tenantIdentifierForAny = (String) serviceRegistry.getService(ConfigurationService.class) .getSettings().get(TENANT_IDENTIFIER_TO_USE_FOR_ANY_KEY); if (tenantIdentifierForAny == null) { throw new HibernateException( "JNDI name named a Context, but tenant identifier to use for ANY was not specified"); } } else { throw new HibernateException("Unknown object type [" + namedObject.getClass().getName() + "] found in JNDI location [" + jndiName + "]"); } }
From source file:kr.debop4j.data.mongodb.test.loading.LoadSelectedColumnsCollectionTest.java
License:Apache License
protected Service getService(Class<? extends Service> serviceImpl) { SessionFactoryImplementor factory = super.sfi(); ServiceRegistryImplementor serviceRegistry = factory.getServiceRegistry(); return serviceRegistry.getService(serviceImpl); }
From source file:kr.debop4j.data.ogm.spring.GridDatastoreConfigBase.java
License:Apache License
/** * hibernate {@link ServiceRegistryImplementor} . * * @param serviceImpl ? /*from ww w . jav a2 s.c om*/ * @return {@link ServiceRegistryImplementor}? ?? */ protected final org.hibernate.service.Service getService( Class<? extends org.hibernate.service.Service> serviceImpl) { if (log.isDebugEnabled()) log.debug("Service . serviceImpl=[{}]", serviceImpl.getName()); SessionFactoryImplementor sessionFactory = getSessionFactoryImplementor(); ServiceRegistryImplementor serviceRegistry = sessionFactory.getServiceRegistry(); return serviceRegistry.getService(serviceImpl); }