https://bz.apache.org/bugzilla/show_bug.cgi?id=57681

Huxing Zhang <huxing.zh...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |huxing.zh...@gmail.com

--- Comment #11 from Huxing Zhang <huxing.zh...@gmail.com> ---
Created attachment 32927
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=32927&action=edit
Back port parallel class loading to tomcat 7.

Hi Mark, Christopher, and Konstantin:

I have back ported the parallel class loading feature to tomcat7. 

Could you please take some time to review this?

The basic idea here is:

1. Keep WebappClassLoader as default which is serial class loading enabled, and
one can configure to use ParallelWebappClassloader by specifying loaderClass in
context.xml (just as in Tomcat8). If user specified to use
ParallelWebappClassloader,  parallel class loading will only be enabled if
tomcat is running on JRE7 or above.
2. Call ClassLoader.registerAsParallelCapable() via reflection, so that jdk7 is
still not required to build tomcat 7 core code.
3. Call ClassLoader.getClassLoadingLock() via reflection to obtain a dedicated
object lock if parallel class loading enabled, or return the WebappClassLoader
object lock if not.
4. Introduce JreCompat.getInstance().isJre7Supported() to determine whether
tomcat is running on JRE7 (or above) or not.
5. Remove StandardClassLoader as well as MBean registration in Bootstrap, since
   1) it is deprecated
   2) it can avoid adding JRECompat to Bootstrap class loader's classpath
6. Add unit test to make sure parallel class loading is working as expected.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to