Tomcat6关闭失败

时间:2011-06-23 16:24:33

标签: tomcat tomcat6 shutdown catalina

我安装了tomcat 6.0.32并在其上运行我的Web应用程序。当tomcat正确启动或停止时,通常停止/启动正常。但是当我尝试在启动过程中停止tomcat时,停止失败。

$service tomcat6 stop

Stopping tomcat6:                                          [FAILED]

日志中的错误是:

SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(Unknown Source)
        at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.PlainSocketImpl.connect(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)

我也试过使用武力,但它不起作用。有谁知道我们如何解决这个问题?

注意:我能够在启动过程中停止tomcat6(6.0.24),但它在6.0.32版本中无效。任何帮助/信息将是一个很大的帮助!

1 个答案:

答案 0 :(得分:4)

这是为了帮助遇到同样问题的人。请记住,我没有解释变更的工作原理,但它解决了我的问题,因此将其发布给其他人。

/etc/init.d/tomcat6中有一个名为“parseOption”的函数,它解析配置文件中指定的配置。这个函数在其他函数[stop / start]中被调用,并且在解析配置时工作正常,如上面的输出所示。

在stop函数内部,最初调用如下:

   if [ -f "/var/lock/subsys/${NAME}" ]; then
      parseOptions
      $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1

我将上述内容改为:

 if [ -f "/var/lock/subsys/${NAME}" ]; then
    $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1
    parseOptions

它有效。我能够在启动过程中停止tomcat,否则。 停止功能的其余部分也正确执行[删除pid文件,终止进程...]。 当tomcat处于启动模式或启动时,实现的差异是不明确的,因为在启动模式下,常规停止正常工作而没有任何更改。