Несколько раз каждый раз, когда я перезапускаю приложение, которое основано на Struts Java на Mysql и версии Jboss 4.05, я получаю ошибку как Адрес, уже используемый: JVM_Bind
Только зафиксируйте это, я знаю, должен перезапустить машину и попробовать еще раз, она будет работать. Еще Несколько раз я делаю Ctrl-Alt-Del и Остановку весь процесс, связанный с Java, несколько раз это также работает.
Но какова точная причина и как мы можем предотвратить эту проблему?
Адрес уже используется: JVM_Bind
означает, что какое-то другое приложение уже прослушивает порт, который ваше текущее приложение пытается привязать.
вам нужно либо изменить порт для вашего текущего приложения, либо лучше; просто узнайте уже запущенное приложение и убейте его.
в Linux вы можете найти pid приложения, используя,
netstat -tulpn
Я обычно сталкиваюсь с этим, когда порт, на котором сервер (я использую JBoss) уже используется
Обычные подозрения
Чтобы изменить порт, к которому JBoss 4.2.x привязывается, перейдите по адресу:
"C: \ jboss4.2.2 \ server \ default \ deploy \ jboss-web.deployer \ server.xml "
здесь по умолчанию - экземпляр сервера измените порт здесь:
В приведенном выше примере порт привязан к 8080
Возможно ли, что MySql прослушивает тот же порт, что и JBoss?
В сообщении об ошибке указан номер порта - что-то вроде Адрес уже используется: JVM_Bind: 8080
Вы можете изменить порт в JBoss server.xml, чтобы проверить это.
Быстрый ответ о том, как это предотвратить, заключается в том, что вам, скорее всего, потребуется остановить JBoss перед его повторным запуском.
У вас должна быть возможность вызвать кнопку «Завершить» в представлении консоли, чтобы выключить сервер.
Эта ошибка означает, что вы пытаетесь создать новый ServerSocket
на порту, который уже используется другим ServerSocket
. Поэтому попробуйте заставить ваше приложение закрыть все известные вам сокеты и соединения и убедитесь, что ваше приложение полностью завершено. Также проверьте, нет ли другого процесса, запущенного вашей программой.