天天看點

問題總結1 2016年4月14日14:55:29

異常問題:

之前可以正常使用的項目,再次運作就報這個錯誤。最後經過檢查,發現是實體類(BI_User)和實體類(User)重複了,這兩個實體類都映射 資料庫中同一個表。 BI_User為其他項目實體類,不小心建立到該項目中,系統部署運作時便會抛出異常:

Caused by: org.hibernate.DuplicateMappingException: Same physical table name [bi_user] references several logical table names: [BI_USER], [bi_user]

最後删掉多餘的BI_User實體類正常運作

嚴重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in class path resource [resource/spring/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)

at org.springframework.beans.factory.support.AbstractBeanFactory 1.getObject(AbstractBeanFactory.java:295)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)atorg.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)atorg.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)atorg.apache.catalina.startup.HostConfig DeployDirectory.run(HostConfig.java:1948)

at java.util.concurrent.Executors RunnableAdapter.call(Executors.java:471)atjava.util.concurrent.FutureTask.run(FutureTask.java:262)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)atjava.util.concurrent.ThreadPoolExecutor Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1249)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access 600(EntityManagerFactoryBuilderImpl.java:120)atorg.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl 4.perform(EntityManagerFactoryBuilderImpl.java:860)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl 4.perform(EntityManagerFactoryBuilderImpl.java:850)atorg.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425)atorg.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849)atorg.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152)atorg.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:67)atorg.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:288)atorg.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)…25moreCausedby:org.hibernate.DuplicateMappingException:Samephysicaltablename[biuser]referencesseverallogicaltablenames:[BIUSER],[biuser]atorg.hibernate.cfg.Configuration MappingsImpl.addTableBinding(Configuration.java:3172)

at org.hibernate.cfg.annotations.TableBinder.buildAndFillTable(TableBinder.java:321)

at org.hibernate.cfg.annotations.TableBinder.buildAndFillTable(TableBinder.java:339)

at org.hibernate.cfg.annotations.EntityBinder.bindTable(EntityBinder.java:594)

at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:677)

at org.hibernate.cfg.Configuration MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3845)atorg.hibernate.cfg.Configuration MetadataSourceQueue.processMetadata(Configuration.java:3799)

at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1412)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)

… 34 more

四月 14, 2016 2:49:33 下午 org.apache.catalina.core.ApplicationContext log

資訊: Set web app root system property: ‘webapp.root’ = [E:\work_app\apache-tomcat-7.0.63\webapps\worklogo_sys]

四月 14, 2016 2:49:33 下午 org.apache.catalina.core.ApplicationContext log

資訊: Initializing log4j from [classpath:resource/config/log4j.properties]

2016/04/14 14:49:33 DEBUG [com.mchange.v2.c3p0.impl.NewPooledConnection] - com.mchan[email protected] closed by a client.

java.lang.Exception: DEBUG – CLOSE BY CLIENT STACK TRACE

at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:646)

at com.mchange.v2.c3p0.impl.NewPooledConnection.closeMaybeCheckedOut(NewPooledConnection.java:259)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool 1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:619)atcom.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1115)atcom.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)atcom.mchange.v2.resourcepool.BasicResourcePool.access 800(BasicResourcePool.java:44)

at com.mchange.v2.resourcepool.BasicResourcePool ScatteredAcquireTask.run(BasicResourcePool.java:1810)atcom.mchange.v2.async.ThreadPoolAsynchronousRunner PoolThread.run(ThreadPoolAsynchronousRunner.java:648)

2016/04/14 14:49:33 DEBUG [com.mchange.v2.c3p0.impl.NewPooledConnection] - com.mchang[email protected] closed by a client.

java.lang.Exception: DEBUG – CLOSE BY CLIENT STACK TRACE

at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:646)

at com.mchange.v2.c3p0.impl.NewPooledConnection.closeMaybeCheckedOut(NewPooledConnection.java:259)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool 1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:619)atcom.mchange.v2.resourcepool.BasicResourcePool 1DestroyResourceTask.run(BasicResourcePool.java:1024)

at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:1049)

at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:1010)

at com.mchange.v2.resourcepool.BasicResourcePool.access 100(BasicResourcePool.java:44)atcom.mchange.v2.resourcepool.BasicResourcePool 5.run(BasicResourcePool.java:1260)

四月 14, 2016 2:49:33 下午 org.apache.catalina.core.StandardContext startInternal

嚴重: One or more listeners failed to start. Full details will be found in the appropriate container log file

四月 14, 2016 2:49:33 下午 org.apache.catalina.core.StandardContext startInternal

嚴重: Context [/worklogo_sys] startup failed due to previous errors

四月 14, 2016 2:49:34 下午 org.apache.catalina.core.ApplicationContext log

資訊: Shutting down log4j

四月 14, 2016 2:49:34 下午 org.apache.catalina.core.ApplicationContext log

資訊: Closing Spring root WebApplicationContext

四月 14, 2016 2:49:34 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

嚴重: The web application [/worklogo_sys] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

四月 14, 2016 2:49:34 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

嚴重: The web application [/worklogo_sys] appears to have started a thread named [Resource Destroyer in BasicResourcePool.close()] but has failed to stop it. This is very likely to create a memory leak.

四月 14, 2016 2:49:34 下午 org.apache.catalina.startup.HostConfig deployDirectory

資訊: Deployment of web application directory E:\work_app\apache-tomcat-7.0.63\webapps\worklogo_sys has finished in 13,140 ms

四月 14, 2016 2:49:34 下午 org.apache.coyote.AbstractProtocol start

資訊: Starting ProtocolHandler [“http-apr-80”]

四月 14, 2016 2:49:34 下午 org.apache.coyote.AbstractProtocol start

資訊: Starting ProtocolHandler [“ajp-apr-8009”]

四月 14, 2016 2:49:34 下午 org.apache.catalina.startup.Catalina start

資訊: Server startup in 14947 ms

四月 14, 2016 2:49:34 下午 org.apache.catalina.loader.WebappClassLoader loadClass

資訊: Illegal access: this web application instance has been stopped already. Could not load oracle.xdb.XMLTypeFactory. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

java.lang.IllegalStateException

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1614)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1573)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:195)

at oracle.jdbc.driver.PhysicalConnection.safelyGetClassForName(PhysicalConnection.java:4697)

at oracle.jdbc.driver.PhysicalConnection.addClassMapEntry(PhysicalConnection.java:2759)

at oracle.jdbc.driver.PhysicalConnection.addDefaultClassMapEntriesTo(PhysicalConnection.java:2748)

at oracle.jdbc.driver.PhysicalConnection.initializeClassMap(PhysicalConnection.java:2452)

at oracle.jdbc.driver.PhysicalConnection.ensureClassMapExists(PhysicalConnection.java:2445)

at oracle.jdbc.driver.PhysicalConnection.getTypeMap(PhysicalConnection.java:2732)

at com.mchange.v2.c3p0.impl.NewPooledConnection.carefulCheckTypeMap(NewPooledConnection.java:191)

at com.mchange.v2.c3p0.impl.NewPooledConnection.(NewPooledConnection.java:129)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:211)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool 1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)atcom.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)atcom.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)atcom.mchange.v2.resourcepool.BasicResourcePool.access 800(BasicResourcePool.java:44)

at com.mchange.v2.resourcepool.BasicResourcePool ScatteredAcquireTask.run(BasicResourcePool.java:1810)atcom.mchange.v2.async.ThreadPoolAsynchronousRunner PoolThread.run(ThreadPoolAsynchronousRunner.java:648)

四月 14, 2016 2:49:34 下午 org.apache.catalina.loader.WebappClassLoader loadClass

資訊: Illegal access: this web application instance has been stopped already. Could not load oracle.xdb.XMLTypeFactory. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

java.lang.IllegalStateException

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1614)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1573)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:195)

at oracle.jdbc.driver.PhysicalConnection.safelyGetClassForName(PhysicalConnection.java:4697)

at oracle.jdbc.driver.PhysicalConnection.addClassMapEntry(PhysicalConnection.java:2759)

at oracle.jdbc.driver.PhysicalConnection.addDefaultClassMapEntriesTo(PhysicalConnection.java:2748)

at oracle.jdbc.driver.PhysicalConnection.initializeClassMap(PhysicalConnection.java:2452)

at oracle.jdbc.driver.PhysicalConnection.ensureClassMapExists(PhysicalConnection.java:2445)

at oracle.jdbc.driver.PhysicalConnection.getTypeMap(PhysicalConnection.java:2732)

at com.mchange.v2.c3p0.impl.NewPooledConnection.carefulCheckTypeMap(NewPooledConnection.java:191)

at com.mchange.v2.c3p0.impl.NewPooledConnection.(NewPooledConnection.java:129)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:211)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool 1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)atcom.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)atcom.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)atcom.mchange.v2.resourcepool.BasicResourcePool.access 800(BasicResourcePool.java:44)

at com.mchange.v2.resourcepool.BasicResourcePool ScatteredAcquireTask.run(BasicResourcePool.java:1810)atcom.mchange.v2.async.ThreadPoolAsynchronousRunner PoolThread.run(ThreadPoolAsynchronousRunner.java:648)