Author: scheu Date: Wed Oct 17 09:18:52 2007 New Revision: 585554 URL: http://svn.apache.org/viewvc?rev=585554&view=rev Log: Quick Change to add comments only. In Java 6, there is a 'regression' in the ClassLoader.loadClass method. This only occurs when asking to load component classes (i.e. load [LFoo ). The accepted work-around is to use Class.forName in such cases. Comments are added with this information. No code changes are made.
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/classloader/MultiParentClassLoader.java Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java?rev=585554&r1=585553&r2=585554&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java (original) +++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java Wed Oct 17 09:18:52 2007 @@ -332,6 +332,17 @@ Class extensionClass = getClass().getClassLoader().loadClass(className); return extensionClass.newInstance(); } catch (ClassNotFoundException e) { + // TODO REVIEW FOR JAVA 6 + // In Java 5, if you passed an array string such as "[Lcom.mypackage.MyClass;" to + // loadClass, the class would indeed be loaded. + // In JDK6, a ClassNotFoundException is thrown. + // The work-around is to use code Class.forName instead. + // Example: + // try { + // classLoader.loadClass(name); + // } catch (ClassNotFoundException e) { + // Class.forName(name, false, loader); + // } log.debug(CodegenMessages.getMessage("engine.extensionLoadProblem"), e); return null; } catch (InstantiationException e) { Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/classloader/MultiParentClassLoader.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/classloader/MultiParentClassLoader.java?rev=585554&r1=585553&r2=585554&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/classloader/MultiParentClassLoader.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/classloader/MultiParentClassLoader.java Wed Oct 17 09:18:52 2007 @@ -213,6 +213,17 @@ return resolveClass(clazz, resolve); } catch (ClassNotFoundException ignored) { // this parent didn't have the class; try the next one + // TODO REVIEW FOR JAVA 6 + // In Java 5, if you passed an array string such as "[Lcom.mypackage.MyClass;" to + // loadClass, the class would indeed be loaded. + // In JDK6, a ClassNotFoundException is thrown. + // The work-around is to use code Class.forName instead. + // Example: + // try { + // classLoader.loadClass(name); + // } catch (ClassNotFoundException e) { + // Class.forName(name, false, loader); + // } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]