Hi, i've enabled startStopThreads="0" to increase bootstrap time of my servlet container using tomcat 8.5.15 and jdk 1.8.0_131-b11. Sometimes - not every time - i've got something like that when the entity manager factory is created from the context initialized callback:
###################################################################### javax.persistence.PersistenceException: [PersistenceUnit: welcome] Unable to build Hibernate SessionFactory at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:967) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:107) at my.custom.Listener.contextInitialized(BootstrapListener.java:82) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) at org.apache.catalina.startup.HostConfig $DeployWar.run(HostConfig.java:1823) at java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:271) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:77) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:240) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:445) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:889) ... 18 more Caused by: javax.cache.CacheException: org.ehcache.xml.exceptions.XmlConfigurationException: Error parsing XML configuration at classpath:hibernate-ehcache.xml at org.ehcache.jsr107.EhcacheCachingProvider $ConfigSupplier.getConfiguration(EhcacheCachingProvider.java:330) at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:127) at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:78) at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:186) at org.hibernate.cache.jcache.JCacheRegionFactory.getCacheManager(JCacheRegionFactory.java:177) at org.hibernate.cache.jcache.JCacheRegionFactory.start(JCacheRegionFactory.java:68) at org.hibernate.cache.spi.RegionFactory.start(RegionFactory.java:63) at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:71) at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:28) at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:20) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:58) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) ... 24 more Caused by: org.ehcache.xml.exceptions.XmlConfigurationException: Error parsing XML configuration at classpath:hibernate-ehcache.xml at org.ehcache.xml.XmlConfiguration.<init>(XmlConfiguration.java:167) at org.ehcache.xml.XmlConfiguration.<init>(XmlConfiguration.java:131) at org.ehcache.jsr107.EhcacheCachingProvider $ConfigSupplier.getConfiguration(EhcacheCachingProvider.java:327) ... 35 more Caused by: org.xml.sax.SAXParseException; lineNumber: 476; columnNumber: 97; src-resolve: Name 'ehcache:resource-unit' kann nicht als 'type definition'-Komponente aufgelöst werden. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4156) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4139) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1682) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeTraverser.traverseNamedAttr(XSDAttributeTraverser.java:327) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeTraverser.traverseLocal(XSDAttributeTraverser.java:113) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:615) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseSimpleContent(XSDComplexTypeTraverser.java:656) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:304) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:191) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1434) at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:613) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:572) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:538) at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255) at org.ehcache.xml.ConfigurationParser.<init>(ConfigurationParser.java:155) at org.ehcache.xml.XmlConfiguration.parseConfiguration(XmlConfiguration.java:175) at org.ehcache.xml.XmlConfiguration.<init>(XmlConfiguration.java:163) ... 37 more ###################################################################### The Exception differs in its detail (different error message and causes for the SAXException, but always when parsing that ehcache file) but its only triggered if there is some parallel bootstrap used, with single threaded bootstrapping it works. Now the question as its random when this happens - did anyone got this too here maybe? Is it more likely to be some Xerces, Hibernate, EhCache or Tomcat topic - maybe someone got that too and has some input on that, thanks. kind regards Torsten
smime.p7s
Description: S/MIME cryptographic signature