The following code in org.jboss.ejb.Container
doesn't work if the caller doesn't have a context classloader,
e.g. it is using the bootstrap classloader as its classloader on the Sun JDK
ClassLoader callerClassLoader = SecurityActions.getContextClassLoader();
long start = System.currentTimeMillis();
Method m = null;
boolean setCl = false;
Object type = null;
String contextID = getJaccContextID();
if (!callerClassLoader.equals(classLoader)) // !!! callerClassLoader is null !!!
The classloaders should be reversed, since the ejb classloader can never be null.
Is there a reason for this optimization? I'd imagine the comparison of classloaders
is likely to be more expensive that just setting the TCL in some cases????