Hi,

My name is Ben and recently we met an issue that the thread got stuck during 
the http connection using HttpClient. And It showed that the connection timeout 
was set to 0, which was not what we set.
let me briefly show here how we are using VFS2:
Create a FileSystemOptions with timeout set:

final FileSystemOptions fso = new FileSystemOptions();
final HttpFileSystemConfigBuilder httpBuilder = 
HttpFileSystemConfigBuilder.getInstance();
httpBuilder.setConnectionTimeout(fso, connectionTimeout);
httpBuilder.setSoTimeout(fso, soTimeout);

Create a FileObject using FileSystemManager:

vfs2FileManager.resolveFile(fileLocation, fso);

Finally get the input stream using DefaultFileContent:

final InputStream instr = fileObject.getInputStream();

We noticed that in executeMethod() of HttpMethodDirector, line 153, it is 
setting the connection timeout using client's params. However,
in HttpClientFactory, it's setting fileSystemOptions in connectionMgrParams, 
and the HttpClient's params would not have this value.
So we did the following to make it work:
In package org.apache.commons.vfs2.provider.http, HttpClientFactory, added line 
148 and 149:
client.getParams().setConnectionManagerTimeout(connectionMgrParams.getConnectionTimeout());
client.getParams().setSoTimeout(connectionMgrParams.getSoTimeout());
Please let me know your thought about this and if there is a patch needed, or 
is there something we are missing or doing wrong ?

Thanks!

Ben

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to