当前位置: 首页>>代码示例>>Java>>正文


Java MultiTenantConnectionProvider类代码示例

本文整理汇总了Java中org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider的典型用法代码示例。如果您正苦于以下问题:Java MultiTenantConnectionProvider类的具体用法?Java MultiTenantConnectionProvider怎么用?Java MultiTenantConnectionProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MultiTenantConnectionProvider类属于org.hibernate.engine.jdbc.connections.spi包,在下文中一共展示了MultiTenantConnectionProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: entityManagerFactory

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
    DataSource dataSource,
    MultiTenantConnectionProvider multiTenantConnectionProviderImpl,
    CurrentTenantIdentifierResolver currentTenantIdentifierResolverImpl) {
    Map<String, Object> properties = new HashMap<>();
    properties.putAll(jpaProperties.getHibernateProperties(dataSource));
    properties.put(org.hibernate.cfg.Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    properties
        .put(org.hibernate.cfg.Environment.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProviderImpl);
    properties
        .put(org.hibernate.cfg.Environment.MULTI_TENANT_IDENTIFIER_RESOLVER, currentTenantIdentifierResolverImpl);

    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource);
    em.setPackagesToScan(JPA_PACKAGES);
    em.setJpaVendorAdapter(jpaVendorAdapter());
    em.setJpaPropertyMap(properties);
    return em;
}
 
开发者ID:xm-online,项目名称:xm-uaa,代码行数:21,代码来源:DatabaseConfiguration.java

示例2: entityManagerFactory

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
    DataSource dataSource,
    MultiTenantConnectionProvider multiTenantConnectionProviderImpl,
    CurrentTenantIdentifierResolver currentTenantIdentifierResolverImpl,
    LocalValidatorFactoryBean localValidatorFactoryBean) {

    Map<String, Object> properties = new HashMap<>();
    properties.putAll(jpaProperties.getHibernateProperties(dataSource));
    properties.put(MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    properties.put(MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProviderImpl);
    properties.put(MULTI_TENANT_IDENTIFIER_RESOLVER, currentTenantIdentifierResolverImpl);
    properties.put(JPA_VALIDATION_FACTORY, localValidatorFactoryBean);

    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource);
    em.setPackagesToScan(JPA_PACKAGES);
    em.setJpaVendorAdapter(jpaVendorAdapter());
    em.setJpaPropertyMap(properties);
    return em;
}
 
开发者ID:xm-online,项目名称:xm-ms-balance,代码行数:22,代码来源:DatabaseConfiguration.java

示例3: entityManagerFactory

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,
    MultiTenantConnectionProvider multiTenantConnectionProviderImpl,
    CurrentTenantIdentifierResolver currentTenantIdentifierResolverImpl) {
    Map<String, Object> properties = new HashMap<>();
    properties.putAll(jpaProperties.getHibernateProperties(dataSource));
    properties.put(org.hibernate.cfg.Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    properties
        .put(org.hibernate.cfg.Environment.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProviderImpl);
    properties
        .put(org.hibernate.cfg.Environment.MULTI_TENANT_IDENTIFIER_RESOLVER, currentTenantIdentifierResolverImpl);

    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource);
    em.setPackagesToScan(JPA_PACKAGES);
    em.setJpaVendorAdapter(jpaVendorAdapter());
    em.setJpaPropertyMap(properties);
    return em;
}
 
开发者ID:xm-online,项目名称:xm-ms-dashboard,代码行数:20,代码来源:DatabaseConfiguration.java

示例4: getJdbcConnectionAccess

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Override
public JdbcConnectionAccess getJdbcConnectionAccess() {
	if ( jdbcConnectionAccess == null ) {
		if ( MultiTenancyStrategy.NONE == factory.getSettings().getMultiTenancyStrategy() ) {
			jdbcConnectionAccess = new NonContextualJdbcConnectionAccess(
					getEventListenerManager(),
					factory.getServiceRegistry().getService( ConnectionProvider.class )
			);
		}
		else {
			jdbcConnectionAccess = new ContextualJdbcConnectionAccess(
					getEventListenerManager(),
					factory.getServiceRegistry().getService( MultiTenantConnectionProvider.class )
			);
		}
	}
	return jdbcConnectionAccess;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:19,代码来源:AbstractSessionImpl.java

示例5: buildLocalConnectionAccess

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
private JdbcConnectionAccess buildLocalConnectionAccess() {
	return new JdbcConnectionAccess() {
		@Override
		public Connection obtainConnection() throws SQLException {
			return settings.getMultiTenancyStrategy() == MultiTenancyStrategy.NONE
					? serviceRegistry.getService( ConnectionProvider.class ).getConnection()
					: serviceRegistry.getService( MultiTenantConnectionProvider.class ).getAnyConnection();
		}

		@Override
		public void releaseConnection(Connection connection) throws SQLException {
			if ( settings.getMultiTenancyStrategy() == MultiTenancyStrategy.NONE ) {
				serviceRegistry.getService( ConnectionProvider.class ).closeConnection( connection );
			}
			else {
				serviceRegistry.getService( MultiTenantConnectionProvider.class ).releaseAnyConnection( connection );
			}
		}

		@Override
		public boolean supportsAggressiveRelease() {
			return false;
		}
	};
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:26,代码来源:SessionFactoryImpl.java

示例6: entityManagerFactory

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, MultiTenantConnectionProvider multiTenantConnectionProvider,
                                                                   CurrentTenantIdentifierResolver tenantIdentifierResolver) {
    final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource);
    em.setPackagesToScan("com.mycompany.models");

    em.setJpaVendorAdapter(this.jpaVendorAdapter());

    final Map<String, Object> jpaProperties = new HashMap<>();
    jpaProperties.put(Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    jpaProperties.put(Environment.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProvider);
    jpaProperties.put(Environment.MULTI_TENANT_IDENTIFIER_RESOLVER, tenantIdentifierResolver);
    jpaProperties.put(Environment.FORMAT_SQL, true);

    em.setJpaPropertyMap(jpaProperties);
    return em;
}
 
开发者ID:SAP,项目名称:cloud-s4-sdk-examples,代码行数:19,代码来源:HibernateConfig.java

示例7: entityManagerFactory

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,
    MultiTenantConnectionProvider multiTenantConnectionProviderImpl,
    CurrentTenantIdentifierResolver currentTenantIdentifierResolverImpl) {
  Map<String, Object> properties = new HashMap<>();
  properties.putAll(jpaProperties.getHibernateProperties(dataSource));
  properties.put(Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
  properties.put(Environment.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProviderImpl);
  properties.put(Environment.MULTI_TENANT_IDENTIFIER_RESOLVER, currentTenantIdentifierResolverImpl);

  LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
  em.setDataSource(dataSource);
  em.setPackagesToScan("com.srai");
  em.setJpaVendorAdapter(jpaVendorAdapter());
  em.setJpaPropertyMap(properties);
  return em;
}
 
开发者ID:singram,项目名称:spring-boot-multitenant,代码行数:18,代码来源:HibernateConfig.java

示例8: entityManagerFactory

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,
                                                                   MultiTenantConnectionProvider multiTenantConnectionProviderImpl,
                                                                   CurrentTenantIdentifierResolver currentTenantIdentifierResolverImpl,
                                                                   LocalValidatorFactoryBean localValidatorFactoryBean) {
    Map<String, Object> properties = new HashMap<>();
    properties.putAll(jpaProperties.getHibernateProperties(dataSource));
    properties.put(org.hibernate.cfg.Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    properties
        .put(org.hibernate.cfg.Environment.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProviderImpl);
    properties
        .put(org.hibernate.cfg.Environment.MULTI_TENANT_IDENTIFIER_RESOLVER, currentTenantIdentifierResolverImpl);

    properties.put(JPA_VALIDATION_FACTORY, localValidatorFactoryBean);

    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource);
    em.setPackagesToScan(JPA_PACKAGES);
    em.setJpaVendorAdapter(jpaVendorAdapter());
    em.setJpaPropertyMap(properties);
    return em;
}
 
开发者ID:xm-online,项目名称:xm-ms-entity,代码行数:23,代码来源:DatabaseConfiguration.java

示例9: buildJdbcConnectionAccess

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
private JdbcConnectionAccess buildJdbcConnectionAccess(Map configValues) {
	final MultiTenancyStrategy multiTenancyStrategy = MultiTenancyStrategy.determineMultiTenancyStrategy( configValues );

	if ( MultiTenancyStrategy.NONE == multiTenancyStrategy ) {
		connectionProvider = serviceRegistry.getService( ConnectionProvider.class );
		return new ConnectionProviderJdbcConnectionAccess( connectionProvider );
	}
	else {
		connectionProvider = null;
		final MultiTenantConnectionProvider multiTenantConnectionProvider = serviceRegistry.getService( MultiTenantConnectionProvider.class );
		return new MultiTenantConnectionProviderJdbcConnectionAccess( multiTenantConnectionProvider );
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:JdbcServicesImpl.java

示例10: getServiceInitiated

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Override
public Class<MultiTenantConnectionProvider> getServiceInitiated() {
	return MultiTenantConnectionProvider.class;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:5,代码来源:MultiTenantConnectionProviderInitiator.java

示例11: initiateService

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
@Override
@SuppressWarnings( {"unchecked"})
public MultiTenantConnectionProvider initiateService(Map configurationValues, ServiceRegistryImplementor registry) {
	final MultiTenancyStrategy strategy = MultiTenancyStrategy.determineMultiTenancyStrategy(  configurationValues );
	if ( strategy == MultiTenancyStrategy.NONE || strategy == MultiTenancyStrategy.DISCRIMINATOR ) {
		// nothing to do, but given the separate hierarchies have to handle this here.
		return null;
	}

	final Object configValue = configurationValues.get( AvailableSettings.MULTI_TENANT_CONNECTION_PROVIDER );
	if ( configValue == null ) {
		// if they also specified the data source *name*, then lets assume they want
		// DataSourceBasedMultiTenantConnectionProviderImpl
		final Object dataSourceConfigValue = configurationValues.get( AvailableSettings.DATASOURCE );
		if ( dataSourceConfigValue != null && String.class.isInstance( dataSourceConfigValue ) ) {
			return new DataSourceBasedMultiTenantConnectionProviderImpl();
		}

		return null;
	}

	if ( MultiTenantConnectionProvider.class.isInstance( configValue ) ) {
		return (MultiTenantConnectionProvider) configValue;
	}
	else {
		final Class<MultiTenantConnectionProvider> implClass;
		if ( Class.class.isInstance( configValue ) ) {
			implClass = (Class) configValue;
		}
		else {
			final String className = configValue.toString();
			final ClassLoaderService classLoaderService = registry.getService( ClassLoaderService.class );
			try {
				implClass = classLoaderService.classForName( className );
			}
			catch (ClassLoadingException cle) {
				log.warn( "Unable to locate specified class [" + className + "]", cle );
				throw new ServiceException( "Unable to locate specified multi-tenant connection provider [" + className + "]" );
			}
		}

		try {
			return implClass.newInstance();
		}
		catch (Exception e) {
			log.warn( "Unable to instantiate specified class [" + implClass.getName() + "]", e );
			throw new ServiceException( "Unable to instantiate specified multi-tenant connection provider [" + implClass.getName() + "]" );
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:51,代码来源:MultiTenantConnectionProviderInitiator.java

示例12: MultiTenantConnectionProviderJdbcConnectionAccess

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
public MultiTenantConnectionProviderJdbcConnectionAccess(MultiTenantConnectionProvider connectionProvider) {
	this.connectionProvider = connectionProvider;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:4,代码来源:JdbcServicesImpl.java

示例13: ContextualJdbcConnectionAccess

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
private ContextualJdbcConnectionAccess(
		SessionEventListener listener,
		MultiTenantConnectionProvider connectionProvider) {
	this.listener = listener;
	this.connectionProvider = connectionProvider;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:7,代码来源:AbstractSessionImpl.java

示例14: setMultiTenantConnectionProvider

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
/**
 * Set a {@link MultiTenantConnectionProvider} to be passed on to the
 * SessionFactory.
 *
 * @see HibernateSpringSessionFactoryBuilder#setMultiTenantConnectionProvider
 * @since 4.3
 */
public void setMultiTenantConnectionProvider(MultiTenantConnectionProvider multiTenantConnectionProvider) {
    this.multiTenantConnectionProvider = multiTenantConnectionProvider;
}
 
开发者ID:baomidou,项目名称:hibernate-plus,代码行数:11,代码来源:HibernateSpringSessionFactoryBean.java

示例15: setMultiTenantConnectionProvider

import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider; //导入依赖的package包/类
/**
 * Set a {@link MultiTenantConnectionProvider} to be passed on to the SessionFactory.
 *
 * @see AvailableSettings#MULTI_TENANT_CONNECTION_PROVIDER
 * @since 4.3
 */
public HibernateSpringSessionFactoryBuilder setMultiTenantConnectionProvider(MultiTenantConnectionProvider multiTenantConnectionProvider) {
    getProperties().put(AvailableSettings.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProvider);
    return this;
}
 
开发者ID:baomidou,项目名称:hibernate-plus,代码行数:11,代码来源:HibernateSpringSessionFactoryBuilder.java


注:本文中的org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。