0

我试图在调试模式下运行我的 Tomcat 7 服务器,它几乎已启动,但立即停止了。

您可以在下面找到一些日志:

INFO: Starting ProtocolHandler ["http-apr-8080"]
Sep 27, 2012 4:56:04 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 22573 ms
Sep 27, 2012 4:56:04 PM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]: 
java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
    at java.net.ServerSocket.bind(ServerSocket.java:319)
    at java.net.ServerSocket.<init>(ServerSocket.java:185)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:421)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:707)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:653)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Sep 27, 2012 4:56:04 PM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["http-apr-8080"]
Sep 27, 2012 4:56:05 PM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["ajp-apr-8009"]
Sep 27, 2012 4:56:05 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Sep 27, 2012 4:56:06 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Sep 27, 2012 4:56:06 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Sep 27, 2012 4:56:06 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/dnweb.myeclipse.bak] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
Sep 27, 2012 4:56:07 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/DNClientWeb] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
Sep 27, 2012 4:56:07 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/DNClientWeb] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
Sep 27, 2012 4:56:07 PM org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["http-apr-8080"]

启动我的服务器后,它又回到了停止模式。这些是内存泄漏问题。如果是我该如何解决这个问题。

任何建议,高度赞赏。谢谢。

4

3 回答 3

2

Tomcat 未启动可能是@ThorstenDittmar 已经建议的端口已经被使用的问题,否则 Tomcat 会因一些OutOfMemoryError.

对于内存泄漏,您可以尝试找出哪些实例保留在内存中,并通过使用 Java Visual VM 查看 JVM 堆转储来防止旧的类加载器被垃圾收集。查看这篇文章,它解释了如何找到旧的类加载器和仍然引用它们的实例。

于 2012-09-27T11:50:21.530 回答
0

确保运行 Tomcat 所需的所有端口都是空闲的。日志消息表明 Tomcat 尝试使用的端口之一已被另一个应用程序使用。

于 2012-09-27T11:43:09.513 回答
-1

更改 server.xml 目录 conf/ 中的端口

<Server port="8005" shutdown="SHUTDOWN" debug="0">
于 2015-04-08T00:52:22.360 回答