को हुक नहीं कर रहा है मैं एक कस्टम क्लासलोडर को परिभाषित करने की कोशिश कर रहा हूं।ContextClassLoader
public class ExampleLoader extends ClassLoader
{
public Class<?> findClass(String name) throws ClassNotFoundException
{
System.out.println("This never gets printed");
return super.findClass(name);
}
public Class<?> loadClass(String name, boolean b)
throws ClassNotFoundException
{
System.out.println("This never gets printed");
return super.loadClass(name, b);
}
}
और निश्चित रूप से मेरी कोड यह परीक्षण करने के लिए:
public class Tester
{
public static void main(String[] args)
{
Thread t = new FooThread();
t.setContextClassLoader(new ExampleLoader());
t.start();
}
}
class FooThread extends Thread
{
public void run()
{
new RandomClass();
}
}
समस्या यह है कि मेरी लाइनों मुद्रित कभी नहीं मिलता है। जाहिर है मैं कुछ याद कर रहा हूँ।
जिज्ञासा से बाहर, कैसे बिलाव जैसे अनुप्रयोगों यह काम कर सकता हूँ? मेरी समझ यह है कि सभी टॉमकैट वेबएप एक साझा जेवीएम के भीतर से चलते हैं, लेकिन जब वे कक्षाओं का उपयोग करते हैं, तो कक्षा परिभाषाएं उनके संबंधित युद्धों से आती हैं। कोई विचार है कि वे इसे कैसे प्राप्त करते हैं? – Jim
वे 'क्लासलोडर # लोड क्लास() 'का उपयोग करते हैं। 'क्लासलोडर' उदाहरण इस तरह से धागे में संग्रहीत और पास किया जाता है। स्रोत कोड में देखने के लिए एक अच्छा प्रारंभिक बिंदु 'org.apache.catalina.core.DefaultInstanceManager' है। – BalusC