2013-06-26 6 views
5

otrzymuję następujący błąd, gdy próbuję uruchomić mój serwer GlassFish z ustawieniami domyślnymi z NetBeans IDE 7.3.1:Jak wyczyścić adres dla Glassfish 4.0 z ustawieniami domyślnymi?

java.net.BindException: Address already in use: bind 

Szczegóły na: http://ideone.com/wKbat3

Co mogę zrobić? Jak wyczyścić adres dla glassfish? Jak ustawić Glassfish, aby używał innego adresu? Co oznacza "adres" w tym kontekście?

+0

uzyskać takie same dla Tomcat 'ciężkie: Nie można zainicjować punkt końcowy związany z ProtocolHandler [ "AJP-bio-8009"] java.net.BindException: Adres już w użyciu: JVM_Bind : 8009' – MaVRoSCy

+0

r cię Windows lub Linux? – MaVRoSCy

Odpowiedz

3

Wygląda na to, że inny serwer używa jednego z portów przypisanych do Twojego serwera Glassfish.

W moim przypadku mam wyjątek SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"] java.net.BindException: Address already in use: JVM_Bind <null>:8009

okaże się być zapomniane instancji Tomcat już działa na moim komputerze. Kiedy wyłączyłem zapomniany, wyjątek odszedł.

Więc w twoim przypadku jakiś inny serwer zajmuje port używany przez twój serwer Glassfish. Znajdź, który to serwer i zatrzymaj go, lub przypisz inny port do serwera Glassfish.

Jeśli jesteś na okna można użyć komendy netstat -a -o i zobaczyć proces oczaru wykorzystuje numer portu:

Więcej informacji na temat jak znaleźć sposób działa na określonym porcie patrz także this guide

1

Mieć spojrzeć na /glassfish/domains/domain1/config/domain.xml, należy znaleźć sekcję jak ten

<network-listeners> 
       <network-listener name="http-listener-1" port="8080" protocol="http-listener-1" thread-pool="http-thread-pool" transport="tcp"/> 
       <network-listener name="http-listener-2" port="8181" protocol="http-listener-2" thread-pool="http-thread-pool" transport="tcp"/> 
       <network-listener name="admin-listener" port="4848" protocol="admin-listener" thread-pool="admin-thread-pool" transport="tcp"/> 
</network-listeners> 

te powinny być porty glassfish musi otworzyć. W moim przypadku mam ten sam błąd, ponieważ port 8181 jest już używany przez inny proces. Zmieniłem port na 8187 i wszystko działało dobrze. W przeciwnym razie powinieneś znaleźć (netstat -a -b, jeśli jesteś w systemie Windows) i zatrzymać procesy wykorzystujące te porty przed uruchomieniem glassfish.

7

Głównym powodem jest to, że inny serwer korzysta z portu 8080, który jest jednym domyślnie (w celu sprawdzenia, czy w oknach Porty te są używane w wierszu poleceń: netstat -a -o)

You należałoby go zmienić na:

/glassfish/domains/domain1/config/domain.xml

Zmiana: name="http-listener-1" **port="8080"** name="http-listener-2" **port="8181"**

Do: name="http-listener-1" **port="9090"** name="http-listener-2" **port="9191"**

Następnie należy usunąć serwer z ram (Eclipse na przykład), zamknij ją, uruchom go i dodać Glashfish ponownie.

Przed rozpoczęciem upewnij się, że ramy nie ma takiego pliku: /glassfish/domains/domain1/osgi-cache/felix/*.lock

W przypadku, gdy istnieje, należy go usunąć, można zatrzymać żadnego procesu Java do usuwania go.

Te kroki mi pomogły.

Powiązane problemy