2010-05-05 19 views
40

Alcune volte ogni volta che riavviare l'applicazione, che è costruito su Java Struts Mysql e Jboss 4.05 Versione ottengo l'errore come Indirizzo già in uso: JVM_BindIndirizzo già in uso: JVM_Bind java

Risolvi solo che so che è necessario riavviare la macchina e riprovare, funzionerà. Altrimenti Alcune volte faccio Ctrl-Alt-Canc e interrompo tutto il processo relativo a Java, alcune volte funziona anche questo.

Ma qual è il motivo esatto e come possiamo evitare questo problema?

+0

volte i indugia proprietà portuali e bastoni al vostro programma Java, anche dopo averlo chiuso. Tuttavia, con Eclipse Java EE, il binding delle porte viene rimosso nel momento in cui eccetto il programma – CodyBugstein

risposta

38

Indirizzo già in uso: JVM_Bind

significa che qualche altra applicazione è già in ascolto sulla porta l'applicazione corrente sta cercando di legare.

quello che devi fare è, o la porta per la tua applicazione corrente o migliore; scopri l'applicazione già in esecuzione e uccidila.

su linux potete trovare il pid applicazione utilizzando,

netstat -tulpn 
+3

Come lo trovi in ​​Windows, sto eseguendo la mia applicazione su Windows – gmhk

+7

netstat funziona anche su Windows, su console try: netstat -an per ulteriori informazioni, http://en.wikipedia.org/wiki/Netstat – phoenix24

+1

un altro consiglio sarebbe di non eseguire i server delle applicazioni su Windows. Altrimenti, potrebbe anche aiutare a non fare clic sul pulsante di riavvio - ma invece di fermarsi, attendere 5 secondi, quindi ricominciare manualmente. A volte i processi java hanno solo bisogno di un po 'di tempo per spegnersi. Ad esempio, se sono occupati con un'operazione db, tendono a rimanere sospesi fino a quando l'operazione non viene completata. – rompetroll

1

La risposta rapida su come prevenirlo è che è molto probabile che tu debba interrompere JBoss prima di ricominciare.

Dovresti essere in grado di chiamare il pulsante "Termina" nella vista Console per arrestare il server.

+0

Sto avviando il JBoss da Eclipse – gmhk

2

E 'possibile che MySql ascolto sulla stessa porta JBoss?

C'è un numero di porta data nel messaggio di errore - qualcosa come Address already in use: JVM_Bind:8080

È possibile modificare la porta in JBoss server.xml per testare questo.

1

Questo errore indica che si sta tentando di creare un nuovo ServerSocket su una porta già utilizzata da un altro ServerSocket. Quindi prova a fare in modo che l'applicazione chiuda tutte le prese e le connessioni che conosci e assicurati che la tua applicazione sia completamente terminata. Controlla anche se ci sono altri processi lanciati dal tuo programma.

12

Io di solito incontrato questo quando la porta che il server (io uso JBoss) è già in uso

soliti sospetti

  1. Apache HTTP Server => abbassare il servizio se si lavora in finestre.
  2. IIS => interrompere l'ISS con
  3. Skype => yea Ho skype attaccandosi alla porta 80

Per modificare la porta a cui JBoss 4.2.x si lega stessa vai a:

"C: \ jboss4.2.2 \ server \ default \ deploy \ jboss-web.deployer \ server.xml"

qui di default è l'istanza del server modificare la porta qui:

< Connector port = "8080" address = "$ {} jboss.bind.address" >

nell'esempio precedente la porta è destinata a 8080

+0

shutype skype ed esegue la tua applicazione java e quindi richiama skype. – signonsridhar

0

riprova seguenti opzioni per la JVM exce vincolante pzione:

  1. avviare e arrestare il server. e controllare gli ID di processo del server e uccidere e arrestare il server.
  2. vai al pannello di controllo-> strumento amministrativo-> servizio-> controlla tutto il server e ferma tutti i server e poi avvia il tuo server.
  3. cambia il browser che usi. per esempio se usi IE, cambiala in Mozilla firefox.
0

Avevo anche questo problema. Per quanto mi riguarda, non ho potuto start/stop openfire (che ha detto è stato fermato, ma tutto era ancora in esecuzione)

sudo /etc/init.d/openfire stop 
sudo /etc/init.d/openfire start 

Inoltre, riavviare apache non aiutano

sudo /etc/init.d/apache2 restart 

Gli errori erano 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 

Il modo in cui l'ho risolto, dovevo effettivamente spegnere il server all'interno dell'area di amministrazione per il mio host.

1

Può essere causato anche dalla doppia definizione di porta 8080 in .. \ 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"/> 
21

In questo scenario finestre accade quando Eclipse si blocca senza un arresto pulito avrà la il server locale Jetty o Tomcat continua a funzionare. Quando si riapre Eclipse e si tenta di avviare nuovamente il server, verrà visualizzato "Indirizzo già in uso: JVM_Bind"

È possibile risolvere questo aprendo Task Manager e trovare il processo javaw.exe e terminarlo.

Quindi è possibile riavviare il server su Eclipse.

enter image description here

0

Ho avuto lo stesso su Windows. La mia soluzione era quella di ottenere a quale porta il debug vuole connettersi. (In IntelliJ un rettangolo rosso fornisce già le informazioni: "Errore di esecuzione di Tomcat: impossibile aprire la porta debugger (127.0.0.1:XXXXX): ... già in uso ...") Diciamo che XXXXX è il numero di porta. Poi ho cercato il problema e il PID in una finestra cmd:

netstat -ano | find "CLOSE_WAIT" | find ":XXXXX" 

ho ottenuto il numero PID come l'ultimo numero della linea risultato.(Diciamo AAAA) Infine:

TASKKILL /PID YYYY 

An Extra Info: WinSCP disconnesso nel frattempo, probabilmente stava causando il mio problema. :)

0

Questo mi è successo di recente quando si abilita JMX su due servizi Tomcat in esecuzione all'interno di Eclipse. Ho erroneamente messo la stessa porta per ogni server.

semplicemente dare ogni JMX a distanza una porta diversa

Server 1

-Dcom.sun.management.jmxremote.port=9000 

Server 2

-Dcom.sun.management.jmxremote.port=9001 
Problemi correlati