On Thu, Sep 15, 2005 at 08:12:56PM +0530, Questioner Guy wrote: > Thanks for the reply Roland, Oleg!! > I'll try all three approaches Host Configuration/ Connection Manager and/or > custom protocol factory approaches and let you know if I am able to fix the > problem. > The problem is that when I get the first timeout exception, I need to be > able to identify the current request being handled reliably to the > Connection Manager/Protocol Factory so that they can reset the timeout on > the right socket.
Wait a minute. Are you talking about a connection timeout or a socket read timeout? Do you know a way to identify the request/socket > combination reliably? HttpClient does not provide a direct access to the underlying sockets (for all sorts of reasons). Probably what you are interested in is the relationship between an HttpMethod and its HostConfiguration. The connection manager will create a new connection or obtain an existing one from the pool based on the given HostConfiguration. Each individual host configuration can have a different socket timeout value, which will override that set on the HttpClient level Hope this helps Oleg I may have more than one request to the same host > being handled at the same time, and worse, may be even to the same resource. > Can I rely on the thread id? > Thanks again. > On 9/15/05, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote: > > > > Presently only socket timeout value can be set on a per method / host / > > client basis. Connection timeout can be set on a per connection manager > > / client basis. The only way to work that problem around is to implement > > a custom connection manager or a custom protocol socket factory > > > > Oleg > > > > > > On Thu, Sep 15, 2005 at 12:22:46PM +0200, Roland Weber wrote: > > > Hi Guy, > > > > > > you can't set the timeout on the connection because you don't know > > > which connection is going to be used until you execute the method. > > > You can set the timeout for the connection manager, which will affect > > > all connections. I think there is also a way to set the timeout based > > > on the HostConfiguration, which is probably what you want to do. > > > > > > hope that helps, > > > Roland > > > > > > > > > > > > > > > Questioner Guy <[EMAIL PROTECTED]> > > > 15.09.2005 11:37 > > > Please respond to > > > "HttpClient User Discussion" > > > > > > > > > To > > > [email protected] > > > cc > > > > > > Subject > > > Connection level timeout settings > > > > > > > > > > > > > > > > > > > > > I am trying to set the connection timeout at the individual connection > > > level. The following code snippet sets the timeout at the HttpClient > > level > > > HttpClient client = new HttpClient( new > > > MultiThreadedHttpConnectionManager() ); > > > client.getHttpConnectionManager().getParams().setParameter(" > > > http.connection.timeout", new Integer( 30 * 1000)); > > > I want to be able to reset the connection timeout to certain web-sites > > > after getting a timeout exception from the call to HttpClient's > > > executeMethod() call. I coudn't figure out a way to get access to the > > > connection allocated to the call. > > > I am new to HttpClient and I apologize if this a trivial question, but I > > > would appreciate the answer. > > > Thanks. > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
