axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <dava...@gmail.com>
Subject Re: [Axis2] Deployment packaging
Date Thu, 01 Dec 2005 23:23:04 GMT
Alex,

A patch would be awesome!! we could possibly help with perf testing as
well if we see the patch.

thanks,
dims

On 12/1/05, Alex Artigues <aartigues@picturemarketing.com> wrote:
> This post is in reply to the recent post by Tony Dean in regard to
> DeploymentClassLoader.
>
> Tony is correct.  DeploymentClassLoader is not complete, and it has other
> issues:
>
> #############################################################3
> 1) Resources inside of jars
> Overriding findResource() will not work because the URL to the resource has a
> limitation in that it can only reference a resource nested 1 jar deep.  That
> means a URL formatted to reference a resource within a jar within the service
> archive will not work.
>
> We had to override getResourceAsStream() in order to get resources out of jars
> correctly.
>
>
> 2) Unclosed file handles
> We consistently ran out of memory when using Axis2 and traced it back to the
> getBytes() method in DeploymentClassLoader.   In the try/catch block of this
> method, the ZipInputStreams are being closed, but this happens only if the
> entry being searched for is actually found.  A second condition in which the
> stream will not get closed is if an exception gets thrown here.
>
>
> 3) DeploymentClassLoader is too slow
> If your service contains many dependencies you will immediately notice how
> long it takes Axis2 to locate things.  We even made an attempt at exploding
> the archive as Tony suggested.  This did improve the speed of the class
> loading but it was still not acceptable.   Serious optimization is going to
> be needed here.  Our spring application context contains about 30 beans, most
> of which are DAO beans.  We have around 35 dependency jars in our service
> archive.  It takes us a whopping 10 minutes to load our application context,
> compared with about 30 seconds using Tomcat5's classloader.
> ###################################################################
>
>
> We found these issues while trying to get Spring's HibernateDAOSupport
> functionality to work.  In addition to modifying Axis2's
> DeploymentClassLoader, we also had to make modifications to Spring because it
> lost focus of the Axis2 ClassLoader and instead reverted to the servlet
> container classloader (I realize this is something for the spring list but be
> warned if you try to do this).
>
> We are working on submitting a patch and are in the process of finding a
> resolution to the performance issue.
>
> Best regards,
> --Alex & Ralf
> aartigues@picturemarketing.com
> rsantiago@picturemarketing.com
>
>


--
Davanum Srinivas : http://wso2.com/blogs/

Mime
View raw message