开发者社区> 问答> 正文

SSM 框架内存泄露,运行一段时间就报错?报错

运行环境:eclipse jee 32位 , jdk1.8 ,tomcate1.7

描述     :项目运行一段时间后,就会报这个错误

错误信息:

 四月 23, 2015 3:10:51 下午 org.apache.catalina.loader.WebappClassLoader modified
严重:     Resource '/WEB-INF/classes/com/soarocean/jsbuoyrvice/IUserService.class' is missing
四月 23, 2015 3:10:51 下午 org.apache.catalina.core.StandardContext reload
信息: Reloading Context with name [/jsBuoy] has started
四月 23, 2015 3:10:51 下午 org.apache.catalina.core.ApplicationContext log
信息: Destroying Spring FrameworkServlet 'SpringMVC'
[org.springframework.web.context.support.XmlWebApplicationContext] - Closing WebApplicationContext for namespace 'SpringMVC-servlet': startup date [Thu Apr 23 14:04:31 CST 2015]; parent: Root WebApplicationContext
DefinedSelfListentor is death@@@!!!
四月 23, 2015 3:10:51 下午 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
[org.springframework.web.context.support.XmlWebApplicationContext] - Closing Root WebApplicationContext: startup date [Thu Apr 23 14:04:28 CST 2015]; root of context hierarchy
四月 23, 2015 3:10:51 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/jsBuoy] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
四月 23, 2015 3:10:51 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jsBuoy] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
四月 23, 2015 3:10:52 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile

信息: validateJarFile(D:\正在进行的项目\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jsBuoy_1\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javaxrvlet/Servlet.class
四月 23, 2015 3:10:52 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\正在进行的项目\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jsBuoy_1\WEB-INF\lib\tomcat-servlet-api-7.0.56.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javaxrvlet/Servlet.class
四月 23, 2015 3:10:53 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
四月 23, 2015 3:10:53 下午 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class com.soarocean.jsbuoy.listenner.DefinedSelfListentor
java.lang.ClassNotFoundException: com.soarocean.jsbuoy.listenner.DefinedSelfListentor
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:115)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4932)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5528)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:4033)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:425)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1546)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1556)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1556)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1524)
at java.lang.Thread.run(Unknown Source)

四月 23, 2015 3:10:53 下午 org.apache.catalina.core.StandardContext listenerStart
严重: Skipped installing application listeners due to previous error(s)
四月 23, 2015 3:10:53 下午 org.apache.catalina.core.StandardContext startInternal
严重: Error listenerStart
四月 23, 2015 3:10:53 下午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/jsBuoy] startup failed due to previous errors
四月 23, 2015 3:10:53 下午 org.apache.catalina.core.StandardContext reload
信息: Reloading Context with name [/jsBuoy] is completed

展开
收起
爱吃鱼的程序员 2020-06-14 16:33:04 749 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我的配置WEB.xml文件如下:

    <?xmlversion="1.0"encoding="UTF-8"?>
    <web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0">
     <display-name>ArchetypeCreatedWebApplication</display-name>
     <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mybatis.xml</param-value>
     </context-param>
     <filter>
      <filter-name>encodingFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      <async-supported>true</async-supported>
      <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
      </init-param>
     </filter>
     <filter-mapping>
      <filter-name>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     <listener>
      <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
     </listener>
     <!--自定义监听器经过测试配置成功!!!-->
     <listener>
     <listener-class>com.soarocean.jsbuoy.listenner.DefinedSelfListentor</listener-class>
     </listener> 
     <servlet>
      <servlet-name>SpringMVC</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:spring-mvc.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
      <async-supported>true</async-supported>
     </servlet>
     <servlet-mapping>
      <servlet-name>SpringMVC</servlet-name>
      <url-pattern>*.do</url-pattern>
     </servlet-mapping>
     <welcome-file-list>
      <welcome-file>/login.jsp</welcome-file>
     </welcome-file-list>
    </web-app>

    java.lang.ClassNotFoundException: com.soarocean.jsbuoy.listenner.DefinedSelfListentor

    DefinedSelfListentor is death@@@!!!

    程序是运行一段时间后才出现这个的,网上说是内存泄露导致的,tomcat中的JreMemoryLeakPreventionListener

    禁止就行了。但是这样做虽然解决表面问题,但是内存泄露还是未解决,治标不治本

    请问有无更好的办法

    看16行的这句:

    严重: The web application [/jsBuoy] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.

    2020-06-14 16:33:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载
Android应用-启动速度和内存优化实践 立即下载