Running Geronimo on Harmony
This article describes the ways and known issues to run Geronimo v2.0.2 using Apache Harmony as a JVM.
ToDo
This article has the following structure:
General notes
Using DRLVM
You should use DRLVM (Harmony VM) to run Geronimo.
Harmony also supports IBM J9 VM, but Geronimo doesn't work with it, as Geronimo relies on java.util.concurrent
package that requires a proper implementation of sun.misc.Unsafe
class that is missing in IBM J9 VM.
Adjustments required in Geronimo
Adjust config.xml
to use Harmony RMI Registry provider for JNDI
Harmony places JNDI providers in org.apache.harmony.jndi
package tree, not in com.sun.jndi
like Sun Java does, so you have to point Geronimo into the right direction to locate and properly access the RMI Registry provider.
For that, edit var/config/config.xml
file, adjust NamingProperties GBean configuration as follows:
<gbean name="NamingProperties"> <attribute name="namingFactoryInitial">org.apache.harmony.jndi.provider.rmi.registry.RegistryContextFactory</attribute> <attribute name="namingFactoryUrlPkgs">org.apache.harmony.jndi.provider</attribute> <attribute name="namingProviderUrl">rmi://${ServerHostname}:${NamingPort + PortOffset}</attribute> </gbean>
Adjustments required in Harmony
ToDo
ToDo
Other issues
GERONIMO-1804 - The name of JNDI/RMI service provider is hardcoded in the sources
GERONIMO-1805 - org.apache.geronimo.directory.RunningTest hangs on BEA Jrockit VMs
GERONIMO-1826 - Naming tests might not work on non-Sun VMs
GERONIMO-1832 - Non-public Sun classes dependencies in tests
GERONIMO-1833 - Non-public Sun classes dependencies in tests
GERONIMO-1840 - NamingPropertiesTest is not compatible with non-Sun VMs
GERONIMO-1841 - JMS connector fails to start if <name> is used instead of <gbean-link>
GERONIMO-2014 - Geronimo uses outdated version of ApacheDS
GERONIMO-2015 - Let's replace JKS to PKCS12 key store type
GERONIMO-2055 - RunningTest is not compatible with non-Sun VMs
GERONIMO-2113 - Geronimo doesn't start if restarted using another JDK
GERONIMO-2128 - Allow user to specify the Isolation Level for a CMP bean's SQL access
MX4J/commons-logging problem
GERONIMO-2595 - Hardcoded MX4J logger in org.apache.geronimo.kernel.log.GeronimoLogging class
HARMONY-1259 - NoClassDefFoundError while working with MX4J loggers
Looks like this issue is not longer actual.