Thread类为什么有contextClassLoader

Java的类委派加载机制是一个漂亮的方案,但是并不完美。如果单纯利用这种机制,那么web应用就无法满足。

 

 

jetty的ContextHandler.hadle方法设置当前线程的contextClassLoader

 

 

 

// Set the classloader
                if (_classLoader!=null)
                {
                    current_thread=Thread.currentThread();
                    old_classloader=current_thread.getContextClassLoader();
                    current_thread.setContextClassLoader(_classLoader);
                }

 

 

我觉得这样做能让容器支持多个webapp。

 

我认为这是一种比较hack的做法,这样就在一定程度上打破了必须按照委派加载。

你可能感兴趣的:(Thread类为什么有contextClassLoader)