Manchmal, wenn ich die Anwendung neu starte, die auf Java Struts Mysql und Jboss 4.05 Version Aufgebaut ist. Ich erhalte den Fehler als Adresse, die bereits verwendet wird: JVM_Bind
Das einzige Problem, das ich weiß, ist, die Maschine neu zu starten und es erneut zu versuchen. Es wird funktionieren. Else Einige Male mache ich Strg-Alt-Entf und stoppe den gesamten Prozess, der mit Java zusammenhängt. Manchmal funktioniert das auch.
Aber was ist der genaue Grund und wie können wir dieses Problem verhindern?
Adresse bereits verwendet: JVM_Bind
bedeutet, dass eine andere Anwendung bereits den Port überwacht, den Ihre aktuelle Anwendung zu binden versucht.
sie müssen entweder den Port für Ihre aktuelle Anwendung ändern oder besser. Finden Sie einfach die bereits laufende Anwendung heraus und beenden Sie sie.
unter Linux können Sie die Anwendung pid finden, indem Sie
netstat -tulpn
In Windows tritt dieses Szenario auf, wenn Eclipse ohne sauberes Herunterfahren abstürzt. Dadurch wird der lokale Jetty- oder Tomcat-Server weiter ausgeführt .. Wenn Sie Eclipse erneut öffnen und versuchen, den Server erneut zu starten, wird die "Adresse bereits verwendet: JVM_Bind"
Sie können dieses Problem lösen, indem Sie den Task-Manager öffnen und den Prozess javaw.exe suchen und beenden.
Dann können Sie den Server auf Eclipse neu starten.
Normalerweise stoße ich darauf, wenn der Port, den der Server (ich verwende JBoss) bereits verwendet wird, bereits verwendet wird
Übliche Verdächtige
Um den Port zu ändern, an den sich JBoss 4.2.x bindet, gehen Sie zu:
"C:\jboss4.2.2\server\default\deploy\jboss-web.deployer\server.xml"
hier ist standardmäßig die Instanz des Servers Ändern Sie den Port hier:
<Anschlussport = "8080" address = "$ {jboss.bind.address}">
Im obigen Beispiel ist der Port an 8080 gebunden
Öffnen Sie die Befehlszeile, und geben Sie Folgendes ein: netstat -a -o -n
oder tasklist
, um die aktuell ausgeführten Prozesse anzuzeigen Suchen Sie einen Port, der sich auf Java bezieht, und geben Sie Folgendes ein: taskkill /F /PID <your PID number>
. Klicken Sie auf die Schaltfläche Eingabe.
Ist es möglich, dass MySql am selben Port wie JBoss abhört?
Gibt es eine Portnummer in der Fehlermeldung - etwa Address already in use: JVM_Bind:8080
Sie können den Port in JBoss server.xml ändern, um dies zu testen.
Es kann auch durch die doppelte Definition von Port 8080 in ..\Tomcat\conf\server.xml verursacht werden:
<Connector port="8080"
enableLookups="false" redirectPort="8443" debug="0"/>
<Connector port="8080"
enableLookups="false" address="127.0.0.1" maxParameterCount="30000"/>
Dieser Fehler bedeutet, dass Sie versuchen, eine neue ServerSocket
an einem Port zu erstellen, der bereits von einer anderen ServerSocket
verwendet wird. Versuchen Sie also, dass Ihre Anwendung alle Sockets und Verbindungen schließt, von denen Sie wissen, und stellen Sie sicher, dass Ihre Anwendung vollständig beendet ist. Überprüfen Sie auch, ob ein anderer Prozess von Ihrem Programm gestartet wurde.
Die schnelle Antwort, wie Sie dies verhindern können, ist, dass Sie JBoss höchstwahrscheinlich stoppen müssen, bevor Sie es erneut starten können.
Sie sollten die Schaltfläche "Terminate" in der Konsolenansicht aufrufen können, um den Server herunterzufahren.
bitte versuchen Sie folgende Optionen für die JVM-Bindungsausnahme:
Sie können versuchen, die Team Server-Anmeldeinformationen zu löschen. Höchstwahrscheinlich enthält die Serverspalte einen Port. Wie https://wathever.visualstudio.com:44
Gehen Sie zu Windows/Einstellungen, erweitern Sie Team und dann zu Team Foundation Server, gehen Sie zu Anmeldeinformationen und entfernen Sie die vorhandenen Informationen.
Ich hatte das gleiche unter Windows. Meine Lösung bestand darin, den Port zu ermitteln, zu dem sich der Debugger verbinden möchte. (In IntelliJ bereits ein rotes Rechteck mit der Info: "Fehler beim Ausführen von Tomcat: Debugger-Port kann nicht geöffnet werden (127.0.0.1:XXXXX): ... Bereits verwendet ...") Dann habe ich nach dem Problem und der PID in einem cmd-Fenster gesucht:
netstat -ano | find "CLOSE_WAIT" | find ":XXXXX"
Ich habe die PID-Nummer als letzte Nummer in der Ergebniszeile erhalten. (Sagen wir JJJJ) Zum Schluss:
TASKKILL /PID YYYY
Eine zusätzliche Info: Winscp hat sich inzwischen abgemeldet, wahrscheinlich hat es mein Problem verursacht. :)
Ich hatte auch dieses Problem. Für mich konnte ich Openfire nicht starten/stoppen (es sagte, es sei gestoppt, aber es lief noch alles)
Sudo /etc/init.d/openfire stop
Sudo /etc/init.d/openfire start
Auch der Neustart von Apache half nicht
Sudo /etc/init.d/Apache2 restart
Die Fehler waren in:
/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
So wie ich das behoben habe, musste ich den Server im Admin-Bereich für meinen Host tatsächlich ausschalten.
Dies ist mir in letzter Zeit passiert, wenn Sie JMX auf zwei Tomcat-Diensten in Eclipse aktivieren. Ich habe versehentlich den gleichen Port für jeden Server angegeben.
Geben Sie jeder jmx-Fernbedienung einfach einen anderen Port
Server 1
-Dcom.Sun.management.jmxremote.port=9000
Server 2
-Dcom.Sun.management.jmxremote.port=9001