2009-06-19 8 views
9

Tôi nhận được lỗi sau khi tôi cố gắng để bắt đầu JBossJBoss - ExportException: Cảng đã được sử dụng: 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) 

Tuy nhiên Khi tôi cố gắng để xem những gì các cảng đang được lắng nghe. Tôi không thấy cổng đó!

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

bất kỳ ý tưởng nào?

Cảm ơn,

Tam

+0

Bất kỳ ứng dụng tường lửa (ISA) nào đang chạy? Hoặc một số dịch vụ ISS. Bạn cũng đã thử với TCPView – jitter

+0

Lần tắt máy JBoss cuối cùng có được sạch không? Bạn đang sử dụng cửa sổ nào? Windows trước năm 2008 đôi khi có thể dự trữ các cổng từ 1025-5000 để sử dụng riêng của mình http://support.microsoft.com/kb/929851/en-us – jitter

Trả lời

6

Thử TCPView (TCPView v3.05). Tôi nhận được "cổng đã được sử dụng" khá nhiều, và TCPView luôn luôn thường bắt được thủ phạm.

+0

Hữu ích, nhưng cũng thấy giải pháp nhanh hơn này: http://stackoverflow.com/a/6438810/396747 –

2

Chúng tôi đã gặp vấn đề này một thời gian trước là tốt, không chỉ với JBoss, mà còn MySQL. tôi đã viết về nó một cách chi tiết hơn ở đây:

Windows TCP Port Conflicts above 1024

gì nó đi xuống đến là Windows sử dụng dải cổng giữa 1000 và 5000 cho cái gọi là cổng "phù du". Điều này có nghĩa là nó gán các cổng từ phạm vi này cho các quá trình yêu cầu một cổng ngẫu nhiên.

Trên các cài đặt Windows 2000/2003 Server cũng như trên Windows XP Pro, bạn có thể đặt trước phạm vi cổng (ngay cả khi chúng chỉ bao gồm một cổng) cho các ứng dụng của bạn. Có hiệu quả chúng không được dành riêng cho bất cứ điều gì cụ thể, nhưng chỉ bị loại trừ khỏi phân bổ động. Để làm như vậy, tạo hoặc chỉnh sửa các giá trị sau registry (loại REG_MULTI_SZ/Multi-String Value):

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

Trong giá trị này xác định cổng dao động trong các định dạng xxxx-yyyy với xxxx và yyyy là cổng thấp nhất và cao nhất của dãy núi này là kín đáo. Để đặt trước một cổng, chỉ cần sử dụng cùng các giá trị cho cả hai (e. G. 1099).

+0

bất kỳ ý tưởng nào để đạt được kết quả tương tự trong Windows7? – leokom

2

Tôi đoán rằng cổng vẫn đang được sử dụng. Bạn có thể tìm thấy rằng việc sử dụng:

netstat -ao 

netstat -b 

Nếu bạn không thể sử dụng cổng đó, tìm cổng khác và thay đổi nó trong file XML sau:

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

Các JBoss 5 có một ServiceBindingManager mới sử dụng tính năng tiêm đậu để gán các cổng khi chạy. Thay đổi cổng ở đây có thể thực hiện thủ thuật cho bạn. Bạn cũng có thể sử dụng cấu hình cổng khác và ghi đè các cổng theo hệ số.

2

Dựa trên các cổng được đề cập trong tập tin tham chiếu bởi Sam, và các khóa registry được tham chiếu bởi Daniel Schneller, sau đây nên làm các trick cho JBoss EAP 5:

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

dịch trong một file .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

hoặc, và tôi vừa mới nhận ra điều này, bạn có thể chỉ mô phỏng hành vi Windows Vista + với phạm vi đơn "1024-49151" ... –

3

đến JBoss-dịch vụ.xml trong thư mục conf và thay đổi cổng cho RMI từ 1098 đến 8099

8099
Khởi động lại máy chủ.

+0

+1 cho giải pháp tuyệt vời - không phải ai cũng có thể chỉnh sửa cài đặt đăng ký của họ –

2

Nguyên nhân chính là do JBOSS không bị tắt máy. Nếu bạn đang sử dụng Windows, hãy truy cập trình quản lý tác vụ và xóa các quy trình JBOSS.

2

Đặt trước cổng 1098-1099 trong sổ đăng ký. Khởi động lại dịch vụ oracle nếu đang chạy, sau đó khởi động JBOss.

1

Lỗi này cũng được Jboss ném nếu địa chỉ IP mặc định của bạn thay đổi do một số sự cố có nghĩa là 121. . .89 đến 121. . .90 Chỉ cần kiểm tra và thay thế bằng địa chỉ IP mới hơn. Nó sẽ hoạt động.