Tam
Tam

Reputation: 12042

JBoss - ExportException: Port already in use: 1098

I'm getting the following error when I try to start 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)

However When I try to see what ports are being listened to. I don't see that port!

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

any ideas?

Thanks,

Tam

Upvotes: 10

Views: 42283

Answers (8)

skaffman
skaffman

Reputation: 403501

Try TCPView (TCPView v3.05). I get this "port already in use" quite a lot, and TCPView always usually catches the culprit.

Upvotes: 7

swapnil Mahadik
swapnil Mahadik

Reputation: 11

This error is also thrown by Jboss if your default IP address changes due to some problem means 121...89 to 121...90 Just check it and replace it with a newer IP address. It will work.

Upvotes: 1

don
don

Reputation: 21

Reserve the port 1098-1099 in registry. Restart the oracle service if running, then start the JBOss.

Upvotes: 2

vinay
vinay

Reputation: 21

The root cause is that JBOSS was not peoperly shut down. If you are using Windows, go to task manager and kill the JBOSS processes.

Upvotes: 2

prashant thakre
prashant thakre

Reputation: 5147

Go to jboss-service.xml under conf folder and change the port for RMI from 1098 to 8099

8099
Restart the server .

Upvotes: 4

Based on the ports mentioned in the file referenced by Sam, and the registry key referenced by Daniel Schneller, the following should do the trick for JBoss EAP 5:

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

Translated in a .reg file:

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

Upvotes: 2

Sam Khawase
Sam Khawase

Reputation: 358

I guess that port is still in use. You can find that using:

netstat -ao

and

netstat -b

If you can't use that port, find another port and change it in the following XML file:

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

The JBoss 5 has a new ServiceBindingManager which uses bean injection to assign ports at runtime. Changing the port here may do the trick for you. You can also use a different ports configuration and override the ports by a factor.

Upvotes: 2

Daniel Schneller
Daniel Schneller

Reputation: 13926

We ran into this problem some time ago as well, not just with JBoss, but also MySQL. I wrote about it in more detail here:

Windows TCP Port Conflicts above 1024

What it comes down to is that Windows uses the port range between 1000 and 5000 for so called "ephemeral" ports. This means that it assigns ports from this range for processes that request a random port.

On Windows 2000/2003 Server installations as well as on Windows XP Pro you can reserve port ranges (even if they only cover a single port) for your applications. Effectively they are not reserved for anything specific, but just excluded from the dynamic allocation. To do so, create or edit the following registry value (type REG_MULTI_SZ/Multi-String Value):

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

In this value specify port ranges in the format xxxx-yyyy with xxxx and yyyy being the lowest and highest port of the range to be reserved. To reserve a single port, just use the same values for both (e. g. 1099).

Upvotes: 2

Related Questions