HomeDocumentation > 9. サンプル・アプリケーション > 9.1. Apache Harmony
{scrollbar}

top

Harmony 上での Geronimo の実行

この文章では、Apache Harmony を JVM として利用して Geronimo v2.0.2 を実行する方法と、既知の問題について説明します。


この文章の構成は以下のとおりです。

Geronimo の構成

JNDI 向けに Harmony の RMI レジストリー・プロバイダーを利用 するための config.xml の調整

Harmony では org.apache.harmony.jndiJNDI providers のパッケージ・ツリーがあり、Sun Javacom.sun.jndi のものとは違います。ですので、GeronimoRMI レジストリー・プロバイダーがどこにあり、どのようにアクセスするのかを指定しなければいけません。

そのために、var/config/config.xml ファイルを編集し、NamingProperties GBean の構成を以下のとおりにしてください。

xmlsolid <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>

JNDI 向けに Harmony の RMI レジストリー・プロバイダーを利用 するためのデプロイヤーの構成

Geronimo のデプロイヤーは var/config/config.xml ファイルを利用しないので (上記を確認してください)、JNDI の構成にシステム・プロパティを与える必要があります。例えば以下のとおりです。

solid

java -Djava.naming.factory.initial=org.apache.harmony.jndi.provider.rmi.registry.RegistryContextFactory -Djava.naming.factory.url.pkgs=org.apache.harmony.jndi.provider -jar bin/deployer.jar ...

Harmony の構成

DRLVM の利用

DRLVM (Harmony VM) を利用して Geronimo を実行します。

Harmony はまた、IBM J9 VM もサポートしていますが、これでは Geronimo は動きません。それは、Geronimosun.misc.Unsafe の実装クラスとしての java.util.concurrent パッケージをあてにしていますが、IBM J9 VM にはこれが無いからです。

その他の問題

GERONIMO-2014 - Geronimo uses outdated version of ApacheDS
GERONIMO-2015 - Let's replace JKS to PKCS12 key store type
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 の問題

GERONIMO-2595 - Hardcoded MX4J logger in org.apache.geronimo.kernel.log.GeronimoLogging class
HARMONY-1259 - NoClassDefFoundError while working with MX4J loggers

この問題はもう発生しないように見えます。

テストで発生した問題

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-2055 - RunningTest is not compatible with non-Sun VMs