Hey
Kevin Lewis wrote:
> I'm not sure. My remote interface is being loaded by an
> AdaptiveClassLoader (which is what Tomcat uses to get classes from
> WEB-INF/{classes,lib}). It's parent is the context class loader which
> has all of my JNDI entries. However, for some reason JNDI is not using
> that class loader.
>
> Here's what I know:
>
> 1. The class loader of the remote interface is an adaptive class loader
> (which has all the classes). It's parent is a sun.misc.Launcher...
> loader (maybe it should be the thread context class loader?).
This is wrong. Yeah, it should be either a URLClassLoader if the app is
being loaded from the J2EEDeployer, or an MLet classloader (=the server
classloader). Either of these are set as context classloader when deploy
in EmbeddedTomcat service is called.
> 3. The thread context class loader is the one that has my JNDI.
>
> 4. The object looked up through JNDI has a class loader from
> sun.rmi.server.LoaderHandler
i.e. a RMI classloader.
> , whose parent loader is the same as the
> context class loader for the current thread.
Which is good.
> I don't know how to make the thread context class loader know directly
> about those classes. Any ideas?
Well, the problem is with the ACL's parent. There is an interceptor
org.jboss.tomcat.ContextClassLoaderInterceptor in the "contrib" module
which is for this specific purpose. Are you sure this is being used??
/Rickard
--
Rickard �berg
Email: [EMAIL PROTECTED]
http://www.telkel.com
http://www.jboss.org
http://www.dreambean.com