On Tue, 2008-09-23 at 11:40 -0700, Yan aka. Yansheng wrote: > Hi Oleg, > > See attached message for my use case. Sorry if I misunderstood OP's use > case. But the answer I got from you is that HTTPClient 3.x API was not > meant to be used that way... >
One is not meant to have a direct access to the underlying HttpConnection object. The reason for it being, if the HttpConnection is used directly, HttpClient may no longer know if that connection is valid / safe to reuse. That does not mean one cannot stream out content to the underlying output stream. Hope that clarifies things a little Oleg > As always, appreciate your help! > > > > On Fri, 2008-06-27 at 10:43 -0700, Yan aka. Yansheng wrote: > > Hi There, > > > > This is my first post here so I hope this is the right audience. > > > > My story: I want to replace a chunk of my code for doing I/O streaming to > a > > webservice. I use java.net.HttpURLConnection to get the InputStream and > > OutputStream, it works fine most of the time but it can get a bit flaky > and > > I had to write my own retry logic. So I decided to switch to > > jakartacommons-httpclient to see if things get better. The problem is I > > don't seem to be able to come up with a good replacement from the > httpclient > > package. > > > > Here is the method for obtaining a HttpConnection I wrote, the problem is > > the HostConfiguration returned is not populated. > > > > Yansheng > > HttpClient 3.x API was never meant to be used this way. You should > either let HttpClient manage connections, or use connection management > components from HttpClient 4.0 > > Hope this helps > > Oleg > > > > On Thu, Sep 18, 2008 at 10:56 AM, Oleg Kalnichevski <[EMAIL PROTECTED]>wrote: > > > On Thu, 2008-09-18 at 08:16 -0700, Yan aka. Yansheng wrote: > > > The example you provided use the File as the buffer and then send as it > > over > > > the network a RequestEntity. There is not direct IO writes to an http > > > connection in HttpClient. > > > > What you are saying is plain WRONG. RequestEntity#writeRequest() method > > gives you a direct access to the output stream of the underlying > > connection, which can be used to stream out any arbitrary content. The > > entity implementation given as an example does not use a file as a > > buffer. It streams out content of a file by reading from the file input > > stream and writing directly to the output stream of the HTTP > > connection. > > > > Please do not make statements about things you are not sure about. > > > > Oleg > > > > > > > On Wed, Sep 17, 2008 at 10:52 AM, Oleg Kalnichevski <[EMAIL PROTECTED] > > >wrote: > > > > > > > On Wed, 2008-09-17 at 08:27 -0700, Yan aka. Yansheng wrote: > > > > > I had a similar problem. From what I gathered, HttpClient does not > > > > support > > > > > stream IO directly. It's not meant for streaming IO. > > > > > > > > This is most certainly is _NOT_ the case. HttpClient is fully capable > > of > > > > streaming data in and out since version 2.0. > > > > > > > > Oleg > > > > > > > > > So one solution is to > > > > > buffer your output locally and send in batch at the end. > > > > > > > > > > Hope this helps. > > > > > > > > > > Yansheng Lin > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > 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]
