Hi All, I am wondering if it would be possible to make a minor improvement to the way *java.net.Socket* reports connectivity errors and incorporate the attempted address, port and the timeout used into the exception message.
The current implementation emits a generic error message, which is not that helpful when one is operating a _large_ application. (Consider e.g. Big Data or complex legacy systems written by someone else). java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at Sample.main(Sample.java:9) I have looked into the JDK code base and implemented a patch that reports the address, port and timeout used in the error message without touching any native parts (see attached patch file). I have tested this (created my own build of the JDK and run a sample application against it) and it seems to work properly. Would it be possible to incorporate this change into the official JDK code base? I do believe it would help a lot of people out there. Based on my understanding, once I have signed the OCA, I should simply write an email to the group and request a sponsor to pick up this issue. Could someone help me with this? Thank you, Peter
socket.patch
Description: Binary data