[ 
http://issues.apache.org/jira/browse/AXIS2-761?page=comments#action_12412840 ] 

Chuck Williams commented on AXIS2-761:
--------------------------------------

Thanks Oleg!  I've installed the patch, made the necessary build updates to 
incorporate the new jar, and replicated your report that all axis2 tests pass.  
I've also tried it out in my application and it works.

My applications hits the server with a mix of very large and very small 
messages.  When I send the large messages from a single client thread, 
performance is at least as good as before, probably a little better.  When I 
hit the server with large messages from multiple simultaneous threads, it seems 
slower however.  CPU utilization is low.  I'm not sure why this is -- it could 
be an application issue -- and will dig into it and report again.

One application change was required to incorporate the patch because the api to 
construct a SimpleHTTPServer with a ThreadPool has been removed.  This is an 
upward incompatibility, but the mechanism we had before wasn't useful anyway.  
I only used it to work around a bug (the old SimpleHTTPServer created all its 
processing threads as daemons, so the jvm kept stopping!).

I'm going to proceed and diagnose the possible multi-threading issue and look 
at extending this with resource-management capabilities.   I need segration of 
operations into varying priority thread pools and ability to dynamically limit 
thread pool allocation based on size of messages being processed.  If anybody 
else has other resource-management needs or suggestions, please comment.  I'd 
like to produce a general facility that will be useful to many apps.

To integrate the patch and the new jar, the following additional changes are 
required to axis2:

1.  Install the new jar into the maven repository at jakarta-httpcore/jars
2.  Add these properties to etc/project.properties:
    a.  In "Versions of dependencies":  jakarta.httpcore.version=4.0-20060521
    b.  In "Jars set explicitly by path":  
maven.jar.jakarta-httpcore=${dependencies.dir}/jakarta-httpcore-${jakarta.httpcore.version}.jar
3.  Add this dependency to the project.xml in modules/ codegen, core, 
integration, jibx and saaj:
        <dependency>
            <groupId>jakarta-httpcore</groupId>
            <artifactId>jakarta-httpcore</artifactId>
            <version>${jakarta.httpcore.version}</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>



> SimpleHttpServer based on Jakarta HttpComponents HttpCore
> ---------------------------------------------------------
>
>          Key: AXIS2-761
>          URL: http://issues.apache.org/jira/browse/AXIS2-761
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Improvement

>   Components: transports
>     Versions: 1.0
>     Reporter: Oleg Kalnichevski
>  Attachments: jakarta-httpcore-4.0-20060521.jar, simplehttpserver.patch
>
> The following patch replaces the SimpleHttpServer implementation based on the 
> testing framework of Commons HttpClient 3.x with a one based on Jakarta 
> HttpComponents HttpCore. Compiled against Axis2 trunk and HttpCore trunk
> * Removes all references to Commons HttpClient classes
> * Enables streaming of schema definitions and similar content
> * Improves content buffering of SOAP response 
> * Improves handling of fault conditions and exception handling
> * Fixes a number of NPEs in AxisEngine
> * Improves performance and reliability of the HTTP transport

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to