failed - Dirección ya en uso: JVM_Bind java
java net bindexception address already in use jvm_bind eclipse (13)
Algunas veces, cuando reinicio la aplicación, que se basa en Java Struts Mysql y Jboss 4.05 versión, recibo el error porque la dirección ya está en uso: JVM_Bind
La única solución que sé es reiniciar la máquina e intentarlo de nuevo, funcionará. Si no, algunas veces hago Ctrl-Alt-Del y Detengo todo el proceso relacionado con Java, algunas veces esto también funciona.
Pero, ¿cuál es la razón exacta y cómo podemos prevenir este problema?
Dirección ya en uso: JVM_Bind
significa que alguna otra aplicación ya está escuchando en el puerto que la aplicación actual está intentando enlazar.
Lo que debe hacer es cambiar el puerto para su aplicación actual o mejor; simplemente descubre la aplicación que ya se está ejecutando y mátala.
en Linux puedes encontrar la aplicación pid usando,
netstat -tulpn
¿Es posible que MySql escuche en el mismo puerto que JBoss?
¿Hay un número de puerto en el mensaje de error? Algo así como la Address already in use: JVM_Bind:8080
Puede cambiar el puerto en JBoss server.xml para probar esto.
Abra la línea de comandos y escriba: netstat -a -o -n
o tasklist
para ver los procesos que se están ejecutando actualmente. Encuentre el puerto relacionado con Java y escriba: taskkill /F /PID <your PID number>
. Haga clic en Entrar.
En Windows, este escenario ocurre cuando Eclipse se bloquea sin un cierre limpio, el servidor local de Jetty o Tomcat seguirá funcionando. Cuando vuelva a abrir Eclipse e intente iniciar el servidor nuevamente, esto llevará a la "Dirección ya en uso: JVM_Bind"
Puede resolver esto abriendo el Administrador de tareas y busque el proceso javaw.exe y finalícelo.
Entonces puedes reiniciar el servidor en Eclipse.
Ese error significa que está intentando crear un nuevo ServerSocket
en un puerto que ya está en uso por otro ServerSocket
. Así que trate de hacer que su aplicación cierre todos los sockets y conexiones que conoce y asegúrese de que su aplicación esté completamente terminada. También verifique si hay otro proceso que haya iniciado su programa.
Esto me sucedió recientemente al habilitar JMX en dos servicios tomcat en ejecución en Eclipse. Puse erróneamente el mismo puerto para cada servidor.
Simplemente dale a cada jmx un puerto diferente
Servidor 1
-Dcom.sun.management.jmxremote.port=9000
Servidor 2
-Dcom.sun.management.jmxremote.port=9001
Generalmente me encuentro con esto cuando el puerto en el que el servidor (yo uso JBoss) ya está en uso
Sospechosos de siempre
- Apache Http Server => desactiva el servicio si está trabajando en Windows.
- IIS => detener la ISS usando
- Skype => sí, tengo skype que se adjunta al puerto 80
Para cambiar el puerto al que se enlaza JBoss 4.2.x, vaya a:
"C: / jboss4.2.2 / server / default / deploy / jboss-web.deployer / server.xml"
aquí por defecto es la instancia del servidor cambiar el puerto aquí:
<Puerto del conector = "8080" dirección = "$ {jboss.bind.address}">
En el ejemplo anterior, el puerto está enlazado a 8080
Intente las siguientes opciones para la excepción de enlace JVM:
- iniciar y detener el servidor. y verifique los identificadores de proceso del servidor y mate y detenga el servidor.
- Vaya a panel de control-> herramienta administrativa-> servicio-> verifique todos los servidores y detenga todos los servidores y luego inicie su propio servidor.
- Cambia el navegador que estás usando. por ejemplo, si usa IE, cámbielo a Mozilla Firefox.
La respuesta rápida sobre cómo prevenirlo es que lo más probable es que necesite detener a JBoss antes de volver a iniciarlo.
Debería poder llamar al botón "Terminar" en la vista de la Consola para apagar el servidor.
Puede intentar eliminar las credenciales de Team Server, lo más probable es que incluyan algún tipo de puerto en la columna del servidor. Me gusta https://wathever.visualstudio.com:443
Vaya a Windows / Preferencias, expanda Equipo y luego Team Foundation Server vaya a Credenciales y elimine el que esté allí.
También puede deberse a la doble definición del puerto 8080 en .. / tomcat / conf / server.xml:
<Connector port="8080"
enableLookups="false" redirectPort="8443" debug="0"/>
<Connector port="8080"
enableLookups="false" address="127.0.0.1" maxParameterCount="30000"/>
Tuve lo mismo en Windows. Mi solución fue obtener a qué puerto desea conectarse la depuración. (En IntelliJ, un rectángulo rojo ya da la información: "Error al ejecutar Tomcat: no se puede abrir el puerto del depurador (127.0.0.1:XXXXX): ... Ya está en uso ...") Digamos que XXXXX es el número de puerto. Luego busqué el problema y el PID en una ventana de cmd:
netstat -ano | find "CLOSE_WAIT" | find ":XXXXX"
Obtuve el número PID como el último número en la línea de resultados. (Digamos YYYY) Finalmente:
TASKKILL /PID YYYY
Una información adicional: Winscp se desconectó mientras tanto, probablemente estaba causando mi problema. :)
Yo también estaba teniendo este problema. Para mí, no pude iniciar / detener el fuego abierto (dijo que estaba detenido, pero todo estaba funcionando)
sudo /etc/init.d/openfire stop
sudo /etc/init.d/openfire start
Además, reiniciar apache tampoco ayudó
sudo /etc/init.d/apache2 restart
Los errores estaban dentro:
/opt/openfire/logs/stderror.log
Error creating server listener on port 5269: Address already in use
Error creating server listener on port 5222: Address already in use
De la forma en que solucioné esto, tuve que apagar el servidor dentro del área de administración de mi host.