Rick
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.