2009-06-19 12 views
9

Dostaję następujący błąd, gdy próbuję uruchomić JBossJBoss - ExportException: Port już w użyciu: 1098

10:10:43,298 INFO [WebService] Using RMI server codebase: http://127.0.0.1:8083/ 
10:10:43,938 ERROR [AbstractKernelController] Error installing to Start: name=jboss:service=Naming state=Create mode=Manual requiredState=Installed 
java.rmi.server.ExportException: Port already in use: 1098; nested exception is: 
    java.net.BindException: Address already in use: JVM_Bind 
    at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:249) 
    at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:184) 
    at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382) 
    at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116) 
    at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180) 
    at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:293) 
    at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:256) 

jednak gdy próbuję zobaczyć, jakie porty są słuchał. Nie widzę tego portu!

H:\>netstat -a -n -o 

Active Connections 

    Proto Local Address   Foreign Address  State   PID 
    TCP 0.0.0.0:135   0.0.0.0:0    LISTENING  824 
    TCP 0.0.0.0:445   0.0.0.0:0    LISTENING  4 
    TCP 0.0.0.0:1521   0.0.0.0:0    LISTENING  2036 
    TCP 0.0.0.0:3389   0.0.0.0:0    LISTENING  752 
    TCP 0.0.0.0:7717   0.0.0.0:0    LISTENING  2944 
    TCP 0.0.0.0:8081   0.0.0.0:0    LISTENING  1564 
    TCP 0.0.0.0:31038   0.0.0.0:0    LISTENING  1436 
    TCP 127.0.0.1:1038   0.0.0.0:0    LISTENING  2036 
    TCP 127.0.0.1:1052   0.0.0.0:0    LISTENING  2620 
    TCP 127.0.0.1:5998   127.0.0.1:5999   ESTABLISHED  4036 
    TCP 127.0.0.1:5999   127.0.0.1:5998   ESTABLISHED  4036 
    TCP 127.0.0.1:6000   127.0.0.1:6001   ESTABLISHED  4036 
    TCP 127.0.0.1:6001   127.0.0.1:6000   ESTABLISHED  4036 
    TCP 142.174.27.74:139  0.0.0.0:0    LISTENING  4 
    TCP 142.174.27.74:13148 142.174.12.84:445  ESTABLISHED  4 
    TCP 142.174.27.74:13253 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13255 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13258 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13259 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13260 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13261 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13262 142.174.134.33:8080 ESTABLISHED  4036 
    TCP 142.174.27.74:13263 142.174.134.33:8080 ESTABLISHED  4036 
    UDP 0.0.0.0:445   *:*         4 
    UDP 0.0.0.0:8081   *:*         1564 
    UDP 0.0.0.0:8082   *:*         1564 
    UDP 0.0.0.0:19508   *:*         1244 
    UDP 127.0.0.1:123   *:*         948 
    UDP 127.0.0.1:1025   *:*         580 
    UDP 127.0.0.1:1046   *:*         524 
    UDP 127.0.0.1:1056   *:*         784 
    UDP 127.0.0.1:1213   *:*         2888 
    UDP 127.0.0.1:1257   *:*         2404 
    UDP 127.0.0.1:2172   *:*         3736 
    UDP 127.0.0.1:2310   *:*         2188 
    UDP 142.174.27.74:123  *:*         948 
    UDP 142.174.27.74:137  *:*         4 
    UDP 142.174.27.74:138  *:*         4 

H:\> 

jakieś pomysły?

Dzięki,

Tam

+0

Czy działa dowolny klient zapory (ISA)? Lub niektóre usługi ISS. Czy próbowałeś także z TCPView – jitter

+0

Czy ostatnie zamknięcie JBoss było czyste? Z jakich okien korzystasz? System Windows przed 2008 rokiem mógłby czasami rezerwować porty między 1025-5000 dla własnych zastosowań http://support.microsoft.com/kb/929851/en-us – jitter

Odpowiedz

6

Spróbuj TCPView (TCPView v3.05). Dostaję ten "port już w użyciu" całkiem sporo, a TCPView zawsze zwykle łapie winowajcę.

+0

Przydatne, ale także zobacz to szybsze rozwiązanie: http://stackoverflow.com/a/6438810/396747 –

2

Wpadliśmy na ten problem już jakiś czas temu, a także, nie tylko z JBoss, ale także MySQL. Pisałem o tym bardziej szczegółowo tutaj:

Windows TCP Port Conflicts above 1024

Co sprowadza się do tego, że Windows używa zakres portów między 1000 a 5000 na tak zwanych „ulotnych” portów. Oznacza to, że przydziela porty z tego zakresu procesom, które wymagają losowego portu.

W systemach Windows 2000/2003 Server oraz Windows XP Pro można zarezerwować zakresy portów (nawet jeśli obejmują one tylko jeden port) dla aplikacji. W rzeczywistości nie są zarezerwowane dla niczego konkretnego, ale po prostu wykluczone z alokacji dynamicznej. Aby to zrobić, należy utworzyć lub edytować następujące wartości rejestru (typ REG_MULTI_SZ/Multi-String Value):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ReservedPorts 

w tej wartości określić zakresy portów w formacie xxxx-yyyy z xxxx i yyyy jest najniższa i najwyższa port zakresie będzie zarezerwowany. Aby zarezerwować jeden port, po prostu użyj tych samych wartości dla obu (na przykład 1099).

+0

wszelkie pomysły na osiągnięcie tego samego wyniku w Windows7? – leokom

2

Domyślam się, że port jest nadal w użyciu. Można zauważyć, że przy użyciu:

netstat -ao 

i

netstat -b 

Jeśli nie można korzystać z tego portu, znaleźć inny port i zmienić je w następującym pliku XML:

conf/bindings-beans/META-INF/bindings-jboss-beans.xml 

The JBoss 5 ma nowy ServiceBindingManager, który wykorzystuje wtrysk fasoli do przypisania portów w czasie wykonywania. Zmiana portu tutaj może załatwić sprawę. Można również użyć innej konfiguracji portów i nadpisać porty przez współczynnik.

2

podstawie portów wymienionych w pliku wskazywanego przez Sama, a klucz rejestru odwołuje Daniel Schneller dodaje powinno wystarczyć dla JBoss EAP 5:

1090-1090 1098-1102 1161-1162 3528 -3528 4444-4448 4457-4457 4712-4714 5445-5446 8080-8083 8443-8443

Tłumaczone w pliku .reg:

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] 
"ReservedPorts"=hex(7):31,00,30,00,39,00,30,00,2d,00,31,00,30,00,39,00,30,00,\ 
    20,00,31,00,30,00,39,00,38,00,2d,00,31,00,31,00,30,00,32,00,20,00,31,00,31,\ 
    00,36,00,31,00,2d,00,31,00,31,00,36,00,32,00,20,00,33,00,35,00,32,00,38,00,\ 
    2d,00,33,00,35,00,32,00,38,00,20,00,34,00,34,00,34,00,34,00,2d,00,34,00,34,\ 
    00,34,00,38,00,20,00,34,00,34,00,35,00,37,00,2d,00,34,00,34,00,35,00,37,00,\ 
    20,00,34,00,37,00,31,00,32,00,2d,00,34,00,37,00,31,00,34,00,20,00,35,00,34,\ 
    00,34,00,35,00,2d,00,35,00,34,00,34,00,36,00,20,00,38,00,30,00,38,00,30,00,\ 
    2d,00,38,00,30,00,38,00,33,00,20,00,38,00,34,00,34,00,33,00,2d,00,38,00,34,\ 
    00,34,00,33,00,00,00,00,00 
+0

lub, i właśnie sobie to uświadomiłem, prawdopodobnie można po prostu emulować zachowanie systemu Windows Vista + w pojedynczym zakresie "1024-49151" ... –

3

idź do JBoss-usługi.xml pod folderem conf i zmień port dla RMI z 1098 na 8099

8099
Uruchom ponownie serwer.

+0

+1 za świetne rozwiązanie - nie każdy może edytować swoje ustawienia rejestru –

2

Główną przyczyną jest to, że JBOSS nie został całkowicie zamknięty. Jeśli używasz systemu Windows, przejdź do menedżera zadań i zabij procesy JBOSS.

2

Dokonaj rezerwacji portu 1098-1099 w rejestrze. Uruchom ponownie usługę Oracle, jeśli działa, a następnie uruchom JBOss.

1

Ten błąd jest również zgłaszany przez Jboss, jeśli Twój domyślny adres IP zmienia się z powodu jakiegoś problemu oznacza 121. . .89 do 121. . .90 Wystarczy go sprawdzić i zastąpić nowszym adresem IP. To będzie działać.

Powiązane problemy