Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Anchortoptop

Running Geronimo on Harmony

...

This article has the following structure:

...

With other versions and in a different environment, the behavior may differ.

Unresolved issues

Here's the brief summary of all the unresolved issues that require attention:

  • Web interface and console don't work through HTTP (uninvestigated, workarounded).
  • Application takes up all the memory specified in -Xms option (uninvestigated).
  • Application fails to terminate properly – pressing Ctrl-C starts shutdown process that is never finished (uninvestigated).

Geronimo configuration

Configure the server to use Harmony RMI Registry provider for JNDI

...

For that, edit var/config/config.xml file, adjust NamingProperties GBean configuration as follows:

...

...

Use TLS instead of SSL

Harmony doesn't have SSL implementation (see HARMONY-5191), so the following statements have to be added to var/config/config.xml file to instruct Geronimo to use TLS instead of SSL:

...

Change default keystore type

...

1. Harmony doesn't accept the -javaagent option (HARMONY-5462), so you have to omit it. Or, you may remove bin/jpa.jar file from Geronimo distribution – this way the -javaagent option would be omitted by the Geronimo startup script.

2. Geronimo v2.0.2 needs access to Internet for applications like SPECjAppServer2004 to be deployed – it tries to fetch XML schemas from http://java.sun.com site. So if you're going to deploy applications like that, and you're behind a firewall, you should add the appropriate -Dhttp.proxyHost= and -Dhttp.proxyPort= options to the Geronimo command line. This problem is caused by OPENEJB-700 bug and should disappear after that bug is fixed and the fix is propagated to a new version of Geronimo.

...

Your final startup line may look like this:

...

...

java -Xms256M -Xmx512M -Djava.endorsed.dirs=lib/endorsed -Dopenejb.jndiname.failoncollision=true -Dopenejb.jndiname.format={ejbName} -Dhttp.proxyHost=your.proxy -Dhttp.proxyPort=8080 -jar bin/server.jar

...

Use HTTPS web interface

Web interface and console only works work through HTTPS port (https://localhost:8443/Image Removed). When working through HTTP port (http://localhost:8080/Image Removed) large portions of interface are not drawn correctly. This is still to be investigated.

...

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

...

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.

Other issues

  • Application takes up all the CPU resources on both cores I have available so the machine is 100% busy.

...

.