/ / Apache Tomcat Herunterfahren: java.net.ConnectException: Verbindung abgelehnt - Java, Tomcat, Herunterfahren

Apache Tomcat Shutdown: java.net.ConnectException: Verbindung abgelehnt - Java, Kater, Herunterfahren

Ich habe Tomcat 7 auf Centos 5.8 installiert. Dann habe ich ./startup.sh und ./shutdown.sh ausgeführt, es hat gut funktioniert.

Dann habe ich eine something.war unter die webapps / gelegt. es hat auch gut funktioniert. Aber wenn ich den Kater herunterfahre, funktioniert er nicht und löst eine Ausnahme aus:

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:499)
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:371)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:453)

Und ich bin sicher:

  1. Der Kater läuft und funktioniert gut, bevor ich ./shutdown.sh ausführe

  2. Der Prozess des Tomcat ist noch am Leben, aber er lauscht nicht dem Port 8080, nachdem ich ./shutdown.sh ausgeführt habe

Antworten:

7 für die Antwort № 1

Einige Möglichkeiten kommen mir in den Sinn:

  • Es ist möglich, dass Ihre Web-App einen Thread startetdas nicht als "Daemon" ausgeführt wird - wodurch der Prozess am Leben bleibt. Ändern Sie dies in der Webanwendung, um ein freundlicheres Verhalten zu erzielen - oder implementieren Sie einen Listener, der den Thread herunterfährt, wenn Ihre Webanwendung herunterfährt. Sie können dies testen, indem Sie einen Thread auslösen dump (kill -3 pid) auf dem laufenden Tomcat-Prozess wird die Ausgabe (höchstwahrscheinlich) in catalina.out enden
  • Möglicherweise läuft ein anderer Kater an einem anderen Port - das ist es, was Sie in sehen ps Ausgabe
  • Sie haben den "shutdown" - Port geändert (siehe tomcat "s server.xml) - Dies ist, was shutdown.sh kontaktiert, um Tomcat anzuweisen, herunterzufahren

0 für die Antwort № 2

Stellen Sie sicher, dass Sie localhost in / etc / hosts für 127.0.0.1 haben

Meins war früher so

127.0.0.1   centosIGW localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Es funktioniert, nachdem ich localhost zu 127.0.0.1 hinzugefügt habe

127.0.0.1   centosIGW localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6