Ah, the RMIClassLoaderSpiImpl needs to be on the system classloader.
I created a tiny jar file with the RMIClassLoader* classes and put it
in ./target/assembly/lib directory and started the server:
Module 1/5 org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car
started in .000s
Module 2/5 org.apache.geronimo.framework/rmi-naming/3.0-SNAPSHOT/car
started in .260s
Module 3/5 org.apache.geronimo.framework/plugin/3.0-SNAPSHOT/car
started in .169s
Module 4/5 org.apache.geronimo.framework/j2ee-security/3.0-SNAPSHOT/car
started in .471s
Module 5/5 org.apache.geronimo.framework/server-security-config/3.0-SNAPSHOT/car
started in .070s
Startup completed in 5.158s seconds
Listening on Ports:
1099 0.0.0.0 RMI Naming
9999 0.0.0.0 JMX Remoting Connector
Geronimo Application Server started
Jarek
On Thu, Oct 15, 2009 at 11:53 AM, Jarek Gawor <[email protected]> wrote:
> I just committed a fix for this problem. The Bundle.getResources() is
> allowed to return null but ClassLoader.getResources() is not. So I
> updated the BundleClassLoader.java to return an empty enumeration if
> Bundle.getResources() returns null.
>
> Now I'm getting:
>
> Module 4/5 org.apache.geronimo.framework/j2ee-security/3.0-SNAPSHOT/car
> ERROR: Error starting
> mvn:org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car
> (org.osgi.framework.BundleException: Activator start error in bundle
> org.apache.geronimo.framework.j2ee-system [49].)
> java.lang.NoClassDefFoundError:
> org.apache.geronimo.kernel.rmi.RMIClassLoaderSpiImpl
> at
> java.rmi.server.RMIClassLoader.initializeProvider(RMIClassLoader.java:668)
> at java.rmi.server.RMIClassLoader.access$000(RMIClassLoader.java:93)
> at java.rmi.server.RMIClassLoader$1.run(RMIClassLoader.java:103)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.rmi.server.RMIClassLoader.<clinit>(RMIClassLoader.java:100)
> at
> sun.rmi.server.MarshalOutputStream.annotateClass(MarshalOutputStream.java:75)
> at
> java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1250)
> at
> java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1203)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1387)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
> at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
> at
> com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:120)
> at
> com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:208)
> at javax.naming.InitialContext.bind(InitialContext.java:400)
> at
> javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:625)
> at
> javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:412)
> at
> org.apache.geronimo.jmxremoting.JMXConnector.doStart(JMXConnector.java:207)
>
> Jarek
>
> On Thu, Oct 15, 2009 at 3:05 AM, David Jencks <[email protected]> wrote:
>> I cleaned up a bunch of dependency problems and am getting the build
>> further. I now have 3 plugins starting quickly on the first try and have
>> fixed a class visibility problem in the JMXConnector. However, I'm now
>> seeing this exception (if I debug in the right place) trying to start the
>> JMXConnector gbean which tries to use jndi...
>>
>> java.lang.NullPointerException
>> at
>> com.sun.naming.internal.VersionHelper12$InputStreamEnumeration$1.run(VersionHelper12.java:197)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> com.sun.naming.internal.VersionHelper12$InputStreamEnumeration.getNextElement(VersionHelper12.java:194)
>> at
>> com.sun.naming.internal.VersionHelper12$InputStreamEnumeration.hasMore(VersionHelper12.java:214)
>> at
>> com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:470)
>> at
>> com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
>> at javax.naming.InitialContext.init(InitialContext.java:219)
>> at javax.naming.InitialContext.<init>(InitialContext.java:197)
>> at
>> javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:619)
>> at
>> javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:412)
>> at
>> org.apache.geronimo.jmxremoting.JMXConnector.doStart(JMXConnector.java:206)
>> at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:953)
>> at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269)
>> at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103)
>> at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:125)
>> at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:542)
>> at
>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:385)
>> at
>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:459)
>> at
>> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:223)
>> at
>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:713)
>> at
>> org.apache.geronimo.system.osgi.BootActivator.start(BootActivator.java:126)
>> at
>> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:667)
>> at org.apache.felix.framework.Felix.activateBundle(Felix.java:1699)
>> at org.apache.felix.framework.Felix.startBundle(Felix.java:1621)
>> at
>> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1076)
>> at
>> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
>> at java.lang.Thread.run(Thread.java:637)
>>
>>
>> Anyone have a clue what might be wrong?
>>
>> thanks
>> david jencks
>>
>>
>