Closed rafalkrupinski closed 10 years ago
getURLs() is only ever called to get the codebase (not the classpath) of a class. Webster has no codebase. This is not a bug in Rio
Not for RMI based systems, the on.y time this is called is to get the codebase. As for the aforementioned method, the semantics are clearly document:
Get the URLs to be used for class annotations as determined by the {@link org.rioproject.loader.ClassAnnotator}
I thing this problem is caused by both Rio and River: setting log level of org.rioproject.start causes RioServiceDescriptor to call ClassLoaderUtil.displayClassLoaderTree(serviceCL) which calls ClassLoader.getUrls() on a Rio's ServiceClassLoader. That method returns empty array (despite having webster.jar) and ClassLoaderUtil does this
resulting with ArrayIndexOutOfBounds. Of course not checking urls.length>0 is a bug, but I don't think ServiceClassLoader.getUrls() should return an empty array