2009-06-19 4 views
9

Я получаю следующее сообщение об ошибке, когда я пытаюсь запустить JBossJBoss - ExportException: Порт уже используется: 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) 

Однако когда я пытаюсь увидеть, что порты слушают. Я не вижу этого порта!

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:\> 

любые идеи?

Спасибо,

Tam

+0

Работающий клиент брандмауэра (ISA)? Или некоторые службы МКС. Вы также попытались с TCPView – jitter

+0

Был ли последний JBoss выключен? Какие окна вы используете? Windows до 2008 года иногда может резервировать порты между 1025-5000 для собственных нужд http://support.microsoft.com/kb/929851/en-us – jitter

ответ

6

Попробуйте TCPView (TCPView v3.05). Я получаю этот «порт уже в использовании» довольно много, и TCPView всегда обычно ловит преступника.

+0

Полезно, но посмотрите это скорейшее решение: http://stackoverflow.com/a/6438810/396747 –

2

Мы столкнулись с этой проблемой некоторое время назад, а не только с JBoss, но и MySQL. я писал об этом более подробно здесь:

Windows TCP Port Conflicts above 1024

Что это сводится к тому, что Windows, использует диапазон портов между 1000 и 5000 для так называемых «эфемерных» портов. Это означает, что он назначает порты из этого диапазона для процессов, запрашивающих случайный порт.

В системах Windows 2000/2003 Server, а также в Windows XP Pro вы можете резервировать диапазоны портов (даже если они охватывают только один порт) для ваших приложений. Эффективно они не зарезервированы ни для чего конкретного, а просто исключены из динамического распределения. Для этого необходимо создать или отредактировать следующий параметр реестра (тип REG_MULTI_SZ/Multi-String Value):

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

В этом значении указать диапазон портов в формате XXXX-YYYY с хххх и гггг самый низкий и самый высокий порт диапазона быть зарезервированный. Чтобы зарезервировать один порт, используйте одни и те же значения для обоих (например, 1099).

+0

любые идеи о том, как добиться того же результата в Windows7? – leokom

2

Я предполагаю, что порт все еще используется. Вы можете обнаружить, что с помощью:

netstat -ao 

и

netstat -b 

Если вы не можете использовать этот порт, найти другой порт и изменить его в следующем файле XML:

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

В JBoss 5 есть новый ServiceBindingManager, который использует функцию bean injection для назначения портов во время выполнения. Изменение порта здесь может сделать трюк для вас. Вы также можете использовать другую конфигурацию портов и в корне переопределить порты.

2

на основе портов, указанных в файле, на который ссылается Сэму, и ключ реестра ссылается Даниэль Schneller, следующий должен сделать трюк для JBoss EAP 5:

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

Перевод в 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

или, и я просто понял это, возможно, вы просто можете эмулировать поведение Windows Vista + с единственным диапазоном «1024-49151», ... –

3

Перейти к JBoss-сервис.xml в папке conf и изменить порт для RMI с 1098 по 8099

8099
Перезагрузите сервер.

+0

+1 для отличного решения - не все могут редактировать свои настройки реестра –

2

Основной причиной является то, что JBOSS не был закрыт. Если вы используете Windows, перейдите в диспетчер задач и убейте процессы JBOSS.

2

Зарезервировать порт 1098-1099 в реестре. Перезапустите службу оракула, если вы запустите, затем запустите JBOss.

1

Эта ошибка также вызывается Jboss, если ваш IP-адрес по умолчанию изменяется из-за некоторой проблемы означает 121. . .89 до 121. . .90 Просто проверьте его и замените на новый IP-адрес. Это будет работать.

Смежные вопросы