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 <[EMAIL PROTECTED]> 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 > [EMAIL PROTECTED] > [EMAIL PROTECTED] > > -- Davanum Srinivas : http://wso2.com/blogs/
