aspose file tools*
The moose likes Tomcat and the fly likes How to get the port dynamically Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Products » Tomcat
Reply locked New topic
Author

How to get the port dynamically

Neil Gold
Greenhorn

Joined: Nov 12, 2009
Posts: 5
I have a servlet (parent) that needs to invoke another servlet (child) that resides on the same appserver. The way we build the URL now to reach the child servlet is to build the URL up by pulling the protocol, host and port out of the request object when the parent servlet executes. Since the child is on the same appserver, we use the same host/port and protocol. The host is always going to be local, so we could just use localhost instead of a getHost() call.




This code works fine, but some clients have started to use a load balancer and if the LB is not configured to pass through the client's address in the request object, what happens is we wind up getting back the IP/port of the LB instead of the app server and our servlet request will fail.

As a solution, we could change to use "localhost" instead of calling srcURL.getHost(), however how would we resolve the port? The port Tomcat is listening on is not guaranteed to be 8080 and can be changed by the user. Is there a way to dynamically determine what port Tomcat is using without requiring the user to have to tell the servlet or by getting it out of the request object?

thank you

Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61434
    
  67

Please do not cross-post the same question in multiple forums. It wastes people's time when multiple redundant conversations take place. Please click this link ⇒ CarefullyChooseOneForum ⇐ for more information.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
 
jQuery in Action, 2nd edition
 
subject: How to get the port dynamically