我在tomcat的启动和关闭方面遇到了一些问题。
我使用的是:
- Tomcat v.6.0.32(使用从Apache网站下载的捆绑包而不是Ubuntu 10.04分发的捆绑包)
- Ubuntu v.10.04
我使用以下命令启动tomcat:
$./catalina.sh jpda start
然后我尝试使用命令停止它:
$./catalina.sh stop
并获得以下消息:
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
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.stopServer(Bootstrap.java:338)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)
我也尝试使用命令停止它:
$./catalina.sh stop -force
但我收到了这个消息:
Kill failed: $CATALINA_PID not set
然后我再次尝试使用命令启动Tomcat:
$./catalina.sh jpda start
在 /logs 文件夹中,只生成了 catalina.out 文件,并显示以下错误信息:
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
根据错误提示“Address already in use”,我验证了没有其他应用程序配置在端口8080上运行。每次当我杀死进程ID并重新启动时,启动都能正常工作。这要求我使用“KILL”命令手动终止Tomcat服务器进程。我在其他设置相同的机器上也遇到了同样的问题。
请问有人可以告诉我是什么原因导致这种情况,并且如何解决?
谢谢,
Jignesh