2014-05-23 40 views
9

Recentemente ho scaricato Glassfish 4.0 e desidero utilizzarlo in NetBeans per creare alcune applicazioni Web, ma quando voglio avviare il dominio1 (asadmin> start-domain domain1) mantengo ricevendo questo errore: "C'è già un processo che utilizza la porta di amministrazione 4848 - probabilmente è un'altra istanza di un server GlassFish". Qualche idea su quale potrebbe essere il problema?Server Glassfish start-domain domain1 non verrà avviato

+2

Hai la risposta nella tua domanda * C'è già un processo che usa la porta di amministrazione 4848 - probabilmente è un'altra istanza di un server GlassFish * – Keerthivasan

+2

Potrebbe essere dovuto al fatto che [il nome host non è quello corretto] (http://stackoverflow.com/questions/7391466/unable-to-start-glassfish-3-1-even-though-port- non occupato) –

+0

Questo 'netstat -tulpn | grep 4848' aiuterà a verificare il processo in corso – Gilberto

risposta

3

il sistema che utilizza la porta 4848 è per questo. quando glassfish ha bisogno di tre numeri di porta uno per le amministrazioni, uno per le applicazioni http altro per https.

quindi nel sistema 4848 è già prenotato da qualche programma o server.

Oppure è possibile modificare il numero di porta predefinito in base alle proprie esigenze come di seguito. digitare nel prompt dei comandi.

Per cambiare la porta HTTP a 10080:

  • asadmin set server.http-service.http-listener.http-listener-1.port=10080

Per cambiare la porta HTTPS a 10443:

  • asadmin set server.http-service.http-listener.http-listener-2.port=10443

Per cambiare l'amministrazione porta del server a 14848:

  • asadmin set server.http-service.http-listener.admin-listener.port=14848
+0

Come posso cambiare la porta di Glassfish, o come posso scoprire cosa sta occupando questa porta e fermare quel processo? –

+0

edit server.xml potresti trovare il numero di porta predefinito in esso. –

+0

nel tuo caso sarebbe il file dominio1.xml –

0

fare un

netstat -aon

da linea di comando e controllare quale processo sta utilizzando la porta. Se non è importante, uccidilo come soluzione rapida e decente.

+1

Non mostra alcun processo usando la porta 4848 ... –

17

Glassfish non è stato in grado di risolvere il nome host. Diagnosticare il problema (su Linux) come segue:

  1. Aprire un terminale.
  2. Digitare hostname.
  3. Tipo: ping $(hostname)

Se il comando ping non riesce (non riusciva a trovare l'host), quindi aggiungere il nome host da /etc/hosts. Questo può essere realizzato come segue:

  1. Passa alla radice: sudo su -
  2. Tipo: echo "127.0.0.1 $(hostname)" >> /etc/hosts
  3. Uccidi GlassFish
  4. Restart GlassFish
+1

Hai ragione. Sapevo che non aveva nulla a che fare con qualche altro processo sulla porta 4848 (nc -l 4848 funzionava). Ho aggiunto l'output di 'hostname' su'/etc/hosts' e ha funzionato. BTW, stavo accadendo sia con Glassfish 4.0 e 4.1. –

0

1- Vai config cartella all'interno del tuo dominio. (Nel mio caso: C: \ Glassfish \ glassfish \ domini \ mydomain \ config \)

2-Aprire il dominio del file

3 Aggiornare il numero di porta su queste tre linee: enter image description here

4 Riavviare il dominio:

--Nota Per riavviare il dominio:

1-Aprire la console cmd

2 navigare anni il dominio

3-Execute: asadmin restart-dominio mydomain

--I Speranza che aiuta :-)

1

Prova lsof -i:4848 sul terminale.

Imgur

uccidere i processi Java elencati utilizzando il comando kill -9 <PID>.

Se si dispone di un task manager della GUI, ad esempio Activity Monitor su OSX, è possibile interrompere i processi java elencati qui.

Spero che questo funzioni per tutti coloro che si trovano ad affrontare questo problema.

0

soluzione può essere questa: nel tipo di console:

echo $HOSTNAME 

quindi assicurarsi che l'uscita segue stringa 127.0.0.1 in

/etc/hosts 

Ad esempio:

127.0.0.1 dev.myserv.pl