【问题标题】:JBoss - ExportException: Port already in use: 1098JBoss - ExportException:端口已在使用:1098
【发布时间】:2009-06-19 19:17:03
【问题描述】:

当我尝试启动 JBoss 时出现以下错误

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

有什么想法吗?

谢谢,

【问题讨论】:

  • 任何防火墙 (ISA) 客户端正在运行?或者一些国际空间站服务。您是否也尝试过使用 TCPView
  • 上次 JBoss 关闭是否干净?您正在使用哪些窗口? 2008 年之前的 Windows 有时会保留 1025-5000 之间的端口供他自己使用support.microsoft.com/kb/929851/en-us

标签: windows networking jboss tcp


【解决方案1】:

试试 TCPView (TCPView v3.05)。我经常得到这个“端口已经在使用”,而 TCPView always 通常会抓住罪魁祸首。

【讨论】:

【解决方案2】:

进入 conf 文件夹下的 jboss-service.xml 并将 RMI 的端口从 1098 更改为 8099

8099
重新启动服务器。

【讨论】:

  • +1 是一个很好的解决方案 - 不是每个人都可以编辑他们的注册表设置
【解决方案3】:

我们前段时间也遇到过这个问题,不仅是 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 格式指定端口范围,其中 xxxx 和 yyyy 是要保留的范围的最低和最高端口。要保留单个端口,只需对两者使用相同的值(例如 1099)。

【讨论】:

  • 任何想法如何在 Windows7 中实现相同的结果?
【解决方案4】:

我猜该端口仍在使用中。您可以使用:

netstat -ao

netstat -b

如果您不能使用该端口,请找到另一个端口并在以下 XML 文件中进行更改:

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

JBoss 5 有一个新的 ServiceBindingManager,它使用 bean 注入在运行时分配端口。在此处更改端口可能会为您解决问题。 您还可以使用不同的端口配置并按一个因素覆盖端口。

【讨论】:

    【解决方案5】:

    根据 Sam 引用的文件中提到的端口,以及 Daniel 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
    

    【讨论】:

    • 或者,我刚刚意识到这一点,您可能只需要使用单个范围“1024-49151”来模拟 Windows Vista+ 的行为...
    【解决方案6】:

    根本原因是JBOSS没有人为关闭。 如果您使用的是 Windows, 转到任务管理器并终止 JBOSS 进程。

    【讨论】:

      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

        如果您的默认 IP 地址由于某些问题而更改,Jboss 也会抛出此错误 方法 121...89 到 121...90 只需检查并替换为更新的 IP 地址即可。它会起作用的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-09-12
          • 2021-07-16
          • 1970-01-01
          • 1970-01-01
          • 2012-03-05
          • 1970-01-01
          • 2019-02-20
          相关资源
          最近更新 更多