List of usage examples for org.hibernate.boot.registry StandardServiceRegistryBuilder applySetting
@SuppressWarnings({ "unchecked", "UnusedDeclaration" }) public StandardServiceRegistryBuilder applySetting(String settingName, Object value)
From source file:org.infinispan.test.hibernate.cache.commons.stress.CorrectnessTestCase.java
License:LGPL
protected void applySettings(StandardServiceRegistryBuilder ssrb) { ssrb.applySetting(Environment.DEFAULT_CACHE_CONCURRENCY_STRATEGY, accessType.getExternalName()); ssrb.applySetting(TestRegionFactory.TRANSACTIONAL, TestRegionFactoryProvider.load().supportTransactionalCaches() && accessType == AccessType.TRANSACTIONAL); }
From source file:org.infinispan.test.hibernate.cache.commons.stress.SecondLevelCacheStressTestCase.java
License:LGPL
protected void applyCacheSettings(StandardServiceRegistryBuilder ssrb) { ssrb.applySetting(Environment.CACHE_REGION_FACTORY, TestRegionFactoryProvider.load().getRegionFactoryClass().getName()); ssrb.applySetting(Environment.JTA_PLATFORM, new NarayanaStandaloneJtaPlatform()); ssrb.applySetting(InfinispanProperties.INFINISPAN_CONFIG_RESOURCE_PROP, "stress-local-infinispan.xml"); }
From source file:org.infinispan.test.hibernate.cache.commons.timestamp.TimestampsRegionImplTest.java
License:LGPL
@Override protected StandardServiceRegistryBuilder createStandardServiceRegistryBuilder() { StandardServiceRegistryBuilder ssrb = super.createStandardServiceRegistryBuilder(); ssrb.applySetting(TestRegionFactory.WRAP_CACHE, (Function<AdvancedCache, AdvancedCache>) cache -> new ClassLoaderAwareCache(cache, Thread.currentThread().getContextClassLoader()) { @Override/*from www . ja v a2 s. c om*/ public void addListener(Object listener) { super.addListener(new MockClassLoaderAwareListener(listener, this)); } @Override public CompletionStage<Void> addListenerAsync(Object listener) { return super.addListenerAsync(new MockClassLoaderAwareListener(listener, this)); } }); return ssrb; }
From source file:org.infinispan.test.hibernate.cache.commons.util.CacheTestUtil.java
License:LGPL
public static StandardServiceRegistryBuilder buildCustomQueryCacheStandardServiceRegistryBuilder( String regionPrefix, String queryCacheName, Class<? extends JtaPlatform> jtaPlatform) { final StandardServiceRegistryBuilder ssrb = buildBaselineStandardServiceRegistryBuilder(regionPrefix, true, true, jtaPlatform);/*from w w w.j a va 2s . c o m*/ ssrb.applySetting(InfinispanProperties.QUERY_CACHE_RESOURCE_PROP, queryCacheName); return ssrb; }
From source file:org.infinispan.test.hibernate.cache.stress.CorrectnessTestCase.java
License:LGPL
protected void applySettings(StandardServiceRegistryBuilder ssrb) { ssrb.applySetting(Environment.DEFAULT_CACHE_CONCURRENCY_STRATEGY, accessType.getExternalName()); ssrb.applySetting(TestInfinispanRegionFactory.TRANSACTIONAL, accessType == AccessType.TRANSACTIONAL); }
From source file:org.infinispan.test.hibernate.cache.stress.SecondLevelCacheStressTestCase.java
License:LGPL
protected void applyCacheSettings(StandardServiceRegistryBuilder ssrb) { ssrb.applySetting(Environment.CACHE_REGION_FACTORY, "org.infinispan.hibernate.cache.InfinispanRegionFactory"); ssrb.applySetting(Environment.JTA_PLATFORM, "org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform"); ssrb.applySetting(InfinispanRegionFactory.INFINISPAN_CONFIG_RESOURCE_PROP, "stress-local-infinispan.xml"); }
From source file:org.infinispan.test.hibernate.cache.util.CacheTestUtil.java
License:LGPL
public static StandardServiceRegistryBuilder buildCustomQueryCacheStandardServiceRegistryBuilder( String regionPrefix, String queryCacheName, Class<? extends JtaPlatform> jtaPlatform) { final StandardServiceRegistryBuilder ssrb = buildBaselineStandardServiceRegistryBuilder(regionPrefix, InfinispanRegionFactory.class, true, true, jtaPlatform); ssrb.applySetting(InfinispanRegionFactory.QUERY_CACHE_RESOURCE_PROP, queryCacheName); return ssrb;//from w w w .j av a 2 s . c o m }
From source file:org.wallride.tools.Hbm2ddl.java
License:Apache License
public static void main(String[] args) throws Exception { String locationPattern = "classpath:/org/wallride/domain/*"; final BootstrapServiceRegistry registry = new BootstrapServiceRegistryBuilder().build(); final MetadataSources metadataSources = new MetadataSources(registry); final StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(registry); registryBuilder.applySetting(AvailableSettings.DIALECT, ExtendedMySQL5InnoDBDialect.class.getCanonicalName()); registryBuilder.applySetting(AvailableSettings.GLOBALLY_QUOTED_IDENTIFIERS, true); registryBuilder.applySetting(AvailableSettings.PHYSICAL_NAMING_STRATEGY, PhysicalNamingStrategySnakeCaseImpl.class); final PathMatchingResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); final Resource[] resources = resourcePatternResolver.getResources(locationPattern); final SimpleMetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory(); for (Resource resource : resources) { MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); AnnotationMetadata metadata = metadataReader.getAnnotationMetadata(); if (metadata.hasAnnotation(Entity.class.getName())) { metadataSources.addAnnotatedClass(Class.forName(metadata.getClassName())); }/*from w w w. ja v a 2 s .com*/ } final StandardServiceRegistryImpl registryImpl = (StandardServiceRegistryImpl) registryBuilder.build(); final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(registryImpl); new SchemaExport().setHaltOnError(true).setDelimiter(";").create(EnumSet.of(TargetType.STDOUT), metadataBuilder.build()); }
From source file:to.etc.domui.hibernate.config.HibernateConfigurator.java
License:Open Source License
/** * Main worker to initialize the database layer, using Hibernate, with a user-specified core data source. This * code also enables SQL logging when .developer.properties option hibernate.sql=true. *///from w ww .ja v a2 s . c om public synchronized static void initialize(final DataSource ds) throws Exception { System.setProperty("org.jboss.logging.provider", "slf4j"); // Thanks to https://stackoverflow.com/questions/11639997/how-do-you-configure-logging-in-hibernate-4-to-use-slf4j if (m_sessionFactory != null) throw new IllegalStateException("HibernateConfigurator has already been initialized!"); if (m_annotatedClassList.size() == 0) throw new IllegalStateException( "Please call addClasses(Class<?>...) and register your Hibernate data classes before calling me."); long ts = System.nanoTime(); m_dataSource = ds; // see https://www.boraji.com/hibernate-5-event-listener-example //-- Create Hibernate's config. See https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/chapters/bootstrap/Bootstrap.html /* * Hibernate apparently cannot initialize without the useless hibernate.cfg.xml file. We cannot * add that file at the root location because that would interfere with applications. To have a * working model we add it as a resource in this class's package. And of course Hibernate makes * it hard to reach- we need to calculate the proper name, sigh. */ BootstrapServiceRegistry bootstrapRegistry = new BootstrapServiceRegistryBuilder() .applyIntegrator(new JpaIntegrator()).build(); String resname = "/" + HibernateConfigurator.class.getPackage().getName().replace('.', '/') + "/hibernate.cfg.xml"; StandardServiceRegistryBuilder serviceBuilder = new StandardServiceRegistryBuilder(bootstrapRegistry) .configure(resname); /* * Set other properties according to config settings made. */ serviceBuilder.applySetting("hibernate.connection.datasource", ds); boolean logsql; if (m_showSQL == null) logsql = DeveloperOptions.getBool("hibernate.sql", false); // Take default from .developer.properties else logsql = m_showSQL.booleanValue(); if (logsql) { serviceBuilder.applySetting("show_sql", "true"); serviceBuilder.applySetting("hibernate.show_sql", "true"); } /* * Hibernate defaults to completely non-standard behavior for sequences, using the * "hilo" sequence generator by default. This irresponsible behavior means that * by default Hibernate code is incompatible with any code using sequences. * Since that is irresponsible and downright DUMB this reverts the behavior to * using sequences in their normal behavior. * See https://stackoverflow.com/questions/12745751/hibernate-sequencegenerator-and-allocationsize */ serviceBuilder.applySetting("hibernate.id.new_generator_mappings", "true"); // MUST BE BEFORE config.configure m_hibernateOptions.forEach((option, value) -> serviceBuilder.applySetting(option, value)); if (DeveloperOptions.getBool("hibernate.format_sql", true)) { serviceBuilder.applySetting("hibernate.format_sql", "true"); } switch (m_mode) { default: throw new IllegalStateException("Mode: " + m_mode); case CREATE: serviceBuilder.applySetting("hbm2ddl.auto", "create"); serviceBuilder.applySetting("hibernate.hbm2ddl.auto", "create"); break; case NONE: serviceBuilder.applySetting("hbm2ddl.auto", "none"); serviceBuilder.applySetting("hibernate.hbm2ddl.auto", "none"); break; case UPDATE: serviceBuilder.applySetting("hbm2ddl.auto", "update"); serviceBuilder.applySetting("hibernate.hbm2ddl.auto", "update"); break; } // change settings for (IHibernateConfigListener listener : m_onConfigureList) { listener.onSettings(serviceBuilder); } ServiceRegistry reg = serviceBuilder.build(); MetadataSources sources = new MetadataSources(reg); for (Class<?> clz : m_annotatedClassList) sources.addAnnotatedClass(clz); // add classes for (IHibernateConfigListener listener : m_onConfigureList) { listener.onAddSources(sources); } Metadata metaData = sources.getMetadataBuilder() .applyImplicitNamingStrategy(ImplicitNamingStrategyJpaCompliantImpl.INSTANCE).build(); enhanceMappings(metaData); //for(Consumer<Configuration> listener : m_onConfigureList) { // listener.accept(config); //} //-- Create the session factory: this completes the Hibernate config part. SessionFactoryBuilder sessionFactoryBuilder = metaData.getSessionFactoryBuilder(); // sessionFactoryBuilder.applyInterceptor( new CustomSessionFactoryInterceptor() ); //sessionFactoryBuilder.addSessionFactoryObservers( new CustomSessionFactoryObserver() ); // Apply a CDI BeanManager ( for JPA event listeners ) //sessionFactoryBuilder.applyBeanManager( getBeanManager() ); SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) sessionFactoryBuilder.build(); m_sessionFactory = sessionFactory; EventListenerRegistry listenerRegistry = sessionFactory.getServiceRegistry() .getService(EventListenerRegistry.class); if (m_beforeImagesEnabled) { // https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/chapters/events/Events.html listenerRegistry.prependListeners(EventType.POST_LOAD, new CreateBeforeImagePostLoadListener()); listenerRegistry.prependListeners(EventType.INIT_COLLECTION, new CopyCollectionEventListener()); } for (IHibernateConfigListener listener : m_onConfigureList) { listener.onAddListeners(listenerRegistry); } //-- Start DomUI/WebApp.core initialization: generalized database layer HibernateSessionMaker hsm; if (m_beforeImagesEnabled) { //-- We need the copy interceptor to handle these. hsm = dc -> { return m_sessionFactory.withOptions().interceptor(new BeforeImageInterceptor(dc.getBeforeCache())) .openSession(); //return m_sessionFactory.openSession(new BeforeImageInterceptor(dc.getBeforeCache())); }; } else { hsm = dc -> m_sessionFactory.openSession(); } //-- If no handlers are registered: register the default ones. if (m_handlers.size() == 0) { m_handlers.register(JdbcQueryExecutor.FACTORY); m_handlers.register(HibernateQueryExecutor.FACTORY); } m_contextSource = new HibernateLongSessionContextFactory(m_listeners, hsm, m_handlers); System.out.println("domui: Hibernate initialization took a whopping " + StringTool.strNanoTime(System.nanoTime() - ts)); }
From source file:vault.queryrouter.common.util.HibernateUtil.java
License:Apache License
private static void init() { //Standard hibernate XML StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder().configure(); //Configuration from config file registryBuilder.applySetting("hibernate.connection.url", Constant.getBackendDbConnString()); registryBuilder.applySetting("hibernate.connection.username", Constant.getBackendDbUsername()); registryBuilder.applySetting("hibernate.connection.password", Constant.getBackendDbPassword()); StandardServiceRegistry registry = registryBuilder.build(); try {/*www. ja v a 2 s .co m*/ sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory(); } catch (Throwable ex) { StandardServiceRegistryBuilder.destroy(registry); logger.error("Fail to init Hibernate", ex); throw new RuntimeException(ex); } }