Skip to Main Content

Java User Groups

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

How to try several IPs behind one hostname?

forumUsr forumFeb 17 2024

Hello,

We have a Linux box that has localhost IP address (127.XX.XX.XX ) followed by the internal IP address (10.XXX.XXX.XX) listed in it's host file.

Server when started up is bound to the internal IP address.

Our application uses Java 11/17 HTTP Client and the request is sent asynchronously

Code:

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://hostname.domain:port/path"))
.header("Content-Type", "application/json")
.POST(json.body))
.build()

When our application ran on the same linux box, we found that the HttpClient library picked up 1st IP address (127.XXX.XXX.XX) and threw ClosedChannelException.

Is there a way to tell Java's HTTPClient to try all assigned IP addresses or if there are any best practices to follow in scenarios where a host could potentially have multiple IP address and a Java application using JDK's HTTPClient needs to connect to such a host.

BTW, I rather use Java's inbuilt libs and also I really don't want to modify our codebase at this point to use Apache's HTTPClient.

Please advice.

Thank you.

Comments

Post Details

Added on Feb 17 2024
1 comment
322 views