spring+quart后tomcat报错

严重: A web application registered the JBDC 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.
2011-11-1 16:13:07 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
web

严重: A web application appears to have started a thread named [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] but has failed to stop it. This is very likely to create a memory leak.spring


解决方案:数据库

一、缘由是Hibernate3.5.0已经包含Hibernate Annotation jar,错误在于我从新加入了Hibernate Annotation和ejb3-persistence等jar文件apache

二、可能当前用的tomcat 6.0.26把他换成tomcat 6.0.20,就解决了(tomcat 6.0.26和6.0.24都会出现上面的问题)tomcat

三、缘由大概是说tomcat 6.025以后引入了一种内存泄露的检查机制,会把不能垃圾收集的对像作日志,可是说jdbc这个状况好像并不太适用于这种状况。一个办法是在tomcat的server.xml文件中把<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>这个监听给关了oracle

四、缘由是tomcat从新部署的时候产生的这个问题。由于从新部署的时候从新加载数据库驱动程序,因此致使整个问题发生,每次部署的时候后仍是从新启动tomcat或者把数据库lib放在tomcat的lib里面,能够解决这个问题。app

五、检查tomcat的lib里面有没有数据库的lib驱动,没有就要抛异常。spa

相关文章
相关标签/搜索