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