axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amanda Hopgood (JIRA)" <>
Subject [jira] Created: (AXIS2-300) Re-use of MultiThreadedConnectionManager in CommonsHTTPSender
Date Mon, 07 Nov 2005 09:42:20 GMT
Re-use of MultiThreadedConnectionManager in CommonsHTTPSender

         Key: AXIS2-300
     Project: Apache Axis 2.0 (Axis2)
        Type: Improvement
  Components: transports  
 Environment: HTTP 1.1
    Reporter: Amanda Hopgood
    Priority: Minor

When using CommonsHTTPSender then a new MultiThreadedConnectionManager is created for each
instance. This means that the MultiThreadedConnectionManager is unique per Service object,
and this is preventing our connections being re-used. The MultiThreadedConnectionManager should
be able to be shared between different HTTPClient objects, and this request is to alter CommonsHTTPSender
so that a single instance of MultiThreadedConnectionManager is created and used by many instances
of CommonsHTTPSender.

In our application we have a Service object per calling thread, and so with the current implementation
there is one MultiThreadedConnectionManager per thread, and so we are getting more connections
then we really desire.

The reason we have a Service object per calling thread, was because we have seen ConcurrentModificationExceptions
if we perform load tests whilst sharing Service objects over threads, i.e.
at java.util.WeakHashMap$HashIterator.nextEntry(
at java.util.WeakHashMap$
at org.apache.axis.attachments.ManagedMemoryDataSource.delete(
at org.apache.axis.attachments.AttachmentsImpl.writeContentToStream(

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message