2009-06-19 59 views
9

我收到以下错误,当我尝试启动JBoss的JBoss - 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:\> 

有什么想法?

感谢,

+0

任何防火墙(ISA)客户端运行?或者一些国际空间站服务。你还尝试使用TCPView – jitter 2009-06-19 19:36:26

+0

最后一次JBoss关机是否干净?你使用哪个窗口? 2008年之前的Windows有时可以预留1025-5000之间的端口供他自己使用http://support.microsoft.com/kb/929851/en-us – jitter 2009-06-19 19:41:07

回答

6

尝试使用TCPView(TCPView v3.05)。我得到这个“已经在使用的端口”相当多,并且TCPView 总是 通常捕捉罪魁祸首。

+0

有用的,但也看到这个更快的解决方案:http://stackoverflow.com/a/6438810/396747 – 2012-01-20 12:27:47

2

我们前段时间就遇到了这个问题,以及,不只是与JBoss,而且MySQL的。 我更详细地写在这里:

Windows TCP Port Conflicts above 1024

什么它归结为是,Windows使用所谓的“短命”的端口1000和5000之间的端口范围。这意味着它为这个范围中的端口分配请求一个随机端口的进程。

在Windows 2000/2003服务器安装以及Windows XP Pro上,您可以为您的应用程序保留端口范围(即使它们仅涵盖单个端口)。有效地,它们不被保留用于特定的任何事物,而只是从动态分配中排除。为此,创建或编辑以下注册表值(类型REG_MULTI_SZ/Multi-String Value):

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

在此值指定端口范围格式XXXX-YYYY与XXXX和YYYY是所述范围的最低和最高的端口是保留。为了保留单个端口,对两者使用相同的值(例如1099)。

+0

任何想法如何在Windows7中实现相同的结果? – leokom 2016-11-01 08:23:17

2

我猜那个端口仍在使用中。你可以发现,使用:

netstat -ao 

netstat -b 

如果你不能使用该端口,找到另一个端口,并改变它下面的XML文件中:

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

的JBoss 5有一个新的ServiceBindingManager,它使用bean注入来在运行时分配端口。改变这里的港口可能会为你带来诀窍。 您也可以使用不同的端口配置并按一个因子覆盖端口。

2

基于山姆引用的文件中提到的端口,由Daniel Schneller引用的注册表项,下面应的JBoss EAP 5做的伎俩:

一零九零年至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” ... – 2010-11-02 08:58:15

3

转到JBoss的服务。xml在conf文件夹下,并将RMI的端口从1098更改为8099

8099
重新启动服务器。

2

问题的根源在于JBOSS没有被正常关闭。 如果您使用的是Windows, 请转至任务管理器并终止JBOSS进程。

2

保留注册表中的端口1098-1099。 如果正在运行,请重新启动oracle服务,然后启动JBOss。

1

如果您的默认IP地址由于某些问题而发生更改,那么Jboss也会抛出此错误 表示 121. .89至121. .90只需检查它并将其替换为较新的IP地址即可。它会工作。