Why don't we listen for close() on the InputStream and release the
connection then? Thats what do in Mule, CXF, etc...
That way after we've read in the document or the user calls close()
after reading the InputStream we're good to go.
- Dan
James M Snell wrote:
Are you releasing your response objects when you're done with them? e.g.
ClientResponse resp = client.get(...);
// do stuff with resp
resp.release();
This is an unfortunate requirement of the
multithreadedhttpconnectionmanager.
- James
Neale Upstone wrote:
Hi,
I'm using Abdera (4.0, recent snapshot) as part of my testing, and I'm
getting a lock up when load testing the creation of an atom entry.
If I pause the VM and investigate, I find that
MultiThreadedHttpConnectionManager has run out of connections for the
host. It exhibits some strange behaviour, where it used to work, when I
had some other, disk read I/O going on between the writes, but moved
that to a singleton initialisation (reading a database of random
postcodes if you must know ;)
Is anyone else using AbderaClient (i.e. re-using the same instance) for
multiple repeated posts?
If I add client.setMaxConnectionsPerHost(20); , for a test of 20
creates, it works. Otherwise it stops after the first two.
What's weird, and concerning is that it works when other I/O is going
on. Certainly worth people being aware of.
Cheers,
Neale
Thread [main] (Suspended)
Object.wait(long) line: not available [native method]
MultiThreadedHttpConnectionManager.doGetConnection(HostConfiguration,
long) line: 518
MultiThreadedHttpConnectionManager.getConnectionWithTimeout(HostConfiguration,
long) line: 416
HttpMethodDirector.executeMethod(HttpMethod) line: 153
HttpClient.executeMethod(HostConfiguration, HttpMethod, HttpState)
line: 397
HttpClient.executeMethod(HttpMethod) line: 323
AbderaClient.execute(String, String, RequestEntity, RequestOptions)
line: 435
AbderaClient.post(String, RequestEntity, RequestOptions) line: 156
TestCreate.create(Entry) line: 162
TestCreate.testCreateMany() line: 108
--
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com/blog