To answer part of my own question, the RMIClassLoaderSpi provider must be in the system classloader. Worse yet, the provider is instaniated and assigned to a private static final in RMIClassLoader.
It works in OpenEJB because it has geronimo-core in the manifest class-path of it's server.jar, I just need to add that to Geronimo's server.jar as well.
Perhaps better would be to move this class into common or system to avoid placing the junk drawer on the system classpath.
-- Jeremy
