On Fri, 19 Sep 2003 09:12:44 -0600 (MDT) Timothy Stack <[EMAIL PROTECTED]> wrote:
Hi, > > I gave JBoss another try recently and finally got to a > > point where I really don't know what to do. > > > > As you will know, java.lang.ClassLoader contains two > > different loadClass methods, one that takes a String > > and a boolean as its parameters and one that takes > > only a String. Whenever kaffe has to load some class > > using a user defined loader, it invokes the two parameter > > form of loadClass. > > Looks like this is just wrong, the javadoc says the single parameter one > should be called... I'll commit the change to classMethod.c, then. > > JBOSS however contains a class loader that only overrides > > the loadClass(String) method, but not the other one. > > This means that it doesn't work with kaffe at the moment, > > because some classes will not be found. > > Hmm, they should be overriding findClass(), is there any reason why they > needed to use loadClass()? Their class loader looks like this: =======8<================== public static Object create(final Class intf, final ObjectName name, final MBeanServer server) { // make a which delegates to MBeanProxyInstance's cl for it's class resolution ClassLoader cl = new ClassLoader(intf.getClassLoader()) { public Class loadClass(final String className) throws ClassNotFoundException { try { return super.loadClass(className); } catch (ClassNotFoundException e) { // only allow loading of MBeanProxyInstance from this loader if (className.equals(MBeanProxyInstance.class.getName())) { return MBeanProxyInstance.class.getClassLoader().loadClass(className); } // was some other classname, throw the CNFE throw e; } } }; return Proxy.newProxyInstance(cl, new Class[] { MBeanProxyInstance.class, intf }, new MBeanProxyExt(name, server)); } =======>8================= So I think they could as well move the catch block into a findClass() method. Regards, Helmer _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe