I had a problem of starting one of the glassfish domains in one of our servers. This server has multiple glassfish domain.
Domain was not getting started. When I checked the log file I got the error:
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at javax.net.ssl.SSLServerSocket.<init>(SSLServerSocket.java:106)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.<init>(SSLServerSocketImpl.java:106)
at com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl.createServerSocket(SSLServerSocketFactoryImpl.java:72)
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSSLServerSocket(IIOPSSLSocketFactory.java:406)
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createServerSocket(IIOPSSLSocketFactory.java:289)
at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:174)
This means that some port used by this domain is currently being used by some other process, so it is unable to start.
So I found out the ports used by this domain from domain.xml file.
After that I have to find out which of these ports are currently in use. So for that I run the command
C:\Documents and Settings\Administrator>netstat -no > c:\netstat.txt
When I examined the output of this command I found
Active Connections
Proto Local Address Foreign Address State PID
TCP 127.0.0.1:4843 127.0.0.1:4844 ESTABLISHED 20328
TCP 127.0.0.1:4844 127.0.0.1:4843 ESTABLISHED 20328
TCP 127.0.0.1:4845 127.0.0.1:4846 ESTABLISHED 20328
TCP 127.0.0.1:4846 127.0.0.1:4845 ESTABLISHED 20328
TCP 127.0.0.1:4847 127.0.0.1:4848 ESTABLISHED 20328
TCP 127.0.0.1:4848 127.0.0.1:4847 ESTABLISHED 20328
TCP 127.0.0.1:4849 127.0.0.1:4850 ESTABLISHED 20328
TCP 127.0.0.1:4850 127.0.0.1:4849 ESTABLISHED 20328
TCP 127.0.0.1:4851 127.0.0.1:4852 ESTABLISHED 20328
TCP 127.0.0.1:4852 127.0.0.1:4851 ESTABLISHED 20328
TCP 127.0.0.1:4853 127.0.0.1:4854 ESTABLISHED 20328
The admin console port 4848 of my domain is being used by the process with process id 20328.
So I have to use a different port for admin console or I have to terminate the process 20328 and start my domain.
When I checked in windows task manager I found that the process 20328 is another domain of glassfish. So I could afford to kill that process and start both the domains.
So, I killed the process 20328 and started both the domains.
This is a very basic problem but I think it may be helpful for somebody..
Domain was not getting started. When I checked the log file I got the error:
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at javax.net.ssl.SSLServerSocket.<init>(SSLServerSocket.java:106)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.<init>(SSLServerSocketImpl.java:106)
at com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl.createServerSocket(SSLServerSocketFactoryImpl.java:72)
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSSLServerSocket(IIOPSSLSocketFactory.java:406)
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createServerSocket(IIOPSSLSocketFactory.java:289)
at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:174)
This means that some port used by this domain is currently being used by some other process, so it is unable to start.
So I found out the ports used by this domain from domain.xml file.
After that I have to find out which of these ports are currently in use. So for that I run the command
C:\Documents and Settings\Administrator>netstat -no > c:\netstat.txt
When I examined the output of this command I found
Active Connections
Proto Local Address Foreign Address State PID
TCP 127.0.0.1:4843 127.0.0.1:4844 ESTABLISHED 20328
TCP 127.0.0.1:4844 127.0.0.1:4843 ESTABLISHED 20328
TCP 127.0.0.1:4845 127.0.0.1:4846 ESTABLISHED 20328
TCP 127.0.0.1:4846 127.0.0.1:4845 ESTABLISHED 20328
TCP 127.0.0.1:4847 127.0.0.1:4848 ESTABLISHED 20328
TCP 127.0.0.1:4848 127.0.0.1:4847 ESTABLISHED 20328
TCP 127.0.0.1:4849 127.0.0.1:4850 ESTABLISHED 20328
TCP 127.0.0.1:4850 127.0.0.1:4849 ESTABLISHED 20328
TCP 127.0.0.1:4851 127.0.0.1:4852 ESTABLISHED 20328
TCP 127.0.0.1:4852 127.0.0.1:4851 ESTABLISHED 20328
TCP 127.0.0.1:4853 127.0.0.1:4854 ESTABLISHED 20328
The admin console port 4848 of my domain is being used by the process with process id 20328.
So I have to use a different port for admin console or I have to terminate the process 20328 and start my domain.
When I checked in windows task manager I found that the process 20328 is another domain of glassfish. So I could afford to kill that process and start both the domains.
So, I killed the process 20328 and started both the domains.
This is a very basic problem but I think it may be helpful for somebody..
জয় আই অসম,
প্রণব শর্মা
No comments:
Post a Comment