java.net.ConnectException: Connection refused is a common exception if you are dealing with network operations in Java. This error indicates that you are trying to connect to a remote address and connection is refused remotely. It’s possible if there is no remote process/service listening at the specified address or port.
java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) at java.net.Socket.connect(Socket.java:579) at java.net.Socket.connect(Socket.java:528)
java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.Socket.connect(Socket.java:520) at java.net.Socket.connect(Socket.java:470)
java.net.ConnectException: Connection refused exception clearly indicates that the program you are executing is trying to connect to server side but a successful connection cannot be established.
Possible Causes of java.net.ConnectException: Connection refused
1. Client is trying to connect wrong IP or port: This is a common reason when you get ConnectException. Sometimes applications running on the server side allocate different ports each time they are started. You can either configure the application on the server side, so that it uses fixed port, or you can change the client application, so that it connects to correct port.
2. Server is not running: This is also a possible reason for java.net.ConnectException.
You should check whether the server is open or not. It might be a database server, an application server or a custom server you have implemented. If you try to open a socket connection to a closed server, you will get a connection exception.
3. Server is open but it is not listening connections: This might be the case, for instance, when application server is up and running but an installed application is not started correctly. You should check admin console of your server to check the status of applications on the server. Sometimes application is started correctly but it isn’t listening the port, you are trying to connect.
4. Firewall is blocking connections to remote host: Firewall might be the problem if you cannot connect to server side. If a firewall is blocking connections to server, client application cannot open connection on the specified IP and port.
How To Resolve java.net.ConnectException: Connection refused exception
1. Check IP address and port: First step to resolve java.net.ConnectException is checking IP address and port. If IP address and port are correct, then you should follow the other steps below.
C:\>ping 192.168.1.1 Pinging 192.168.1.1 with 32 bytes of data: Reply from 192.168.1.1: bytes=32 time=1ms TTL=64 Reply from 192.168.1.1: bytes=32 time=1ms TTL=64 Reply from 192.168.1.1: bytes=32 time=1ms TTL=64 Reply from 192.168.1.1: bytes=32 time=1ms TTL=64 Ping statistics for 192.168.1.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 1ms, Average = 1ms
C:\>ping 192.168.1.23 Pinging 192.168.1.23 with 32 bytes of data: Reply from 192.168.1.23: Destination host unreachable. Reply from 192.168.1.23: Destination host unreachable. Reply from 192.168.1.23: Destination host unreachable. Reply from 192.168.1.23: Destination host unreachable. Ping statistics for 192.168.1.23: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
C:\>telnet 127.0.0.1 8080 Connecting To 127.0.0.1...Could not open connection to the host, on port 8080: Connect failed