Currently the GBean invoker sets the thread context classloader to the classloader that was used to load the GBean instance (typically the URLClassLoader for the Configuration).

This takes about 50% of the end-to-end time for a local invoke and most of the time it has no impact as the target operation does not need to load any classes.

We plan to change this so that the classloader does not get reset every time. If the target should need to load classes, we are going to make the classloader available through the GBean context. This will also avoid the permission check that determines if the class is even allowed to set the TCL.

This will break a couple of GBeans, especially in deployment where classes get loaded all the time - these will be changed to use the new mechanism (get the CL from the context and set into the thread).

Cheers
Jeremy



Reply via email to