Я столкнулся с некоторыми проблемами, связанными с запуском и выключением 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)
Как указано в ошибке "Адрес уже используется", я подтвердил, что никакое другое приложение не настроено для запуска на порту 8080. Каждый раз, когда я убиваю идентификатор процесса и перезапускаю его, запуск работает нормально. Это требует, чтобы я убил процесс вручную, используя команду KILL, когда мне нужно остановить сервер tomcat. Такое же поведение я встречаю и на других машинах, где установлена такая же среда, как указано выше.
Может кто-нибудь, пожалуйста, сообщите мне, что вызывает это и как это разрешить?
Спасибо,
Jignesh