We've run into a bit of a class loading issue with using the yoko RMI implementation with Geronimo. Because we wish to replace the sun implementation of of the javax.rmi.* classes with the yoko version, we've had to place the rmi jar file on the endorsed.dirs path. Now we're running into a problem with NoClassDefFound exceptions because BCELClassBuilder cannot be resolved by the system class loader (the loader that loaded org.apache.yoko.rmi.util.stub.StubClass). In order for this to work with the current code structure, we're going to need to place the BCEL classes on the endorsed.dirs path as well. This is starting to spiral into a long dependency chain of things that need to be handled by the system loader, which can potentially caused conflicts. I believe this can be resolved by splitting the rmi code into a spec jar and an implementation jar. Now that we have the Class.forName() issues in the javax.rmi.* classes resolved, the implementation classes can reside elsewhere. The javax.rmi classes only have a couple of directly dependencies on the org.apache.yoko.rmi.* classes...ironically, added by me. It shouldn't be too difficult to fix this up so the two packages are independent of each other.

Rick

Reply via email to