...
top Anchor
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:
- HARMONY-5191 – Harmony doesn't have SSL implementation (investigated, workarounded).
- GERONIMO-3757 – Geronimo uses JKS keystore that Harmony doesn't support (investigated, workarounded).
- HARMONY-5462 – Harmony doesn't support
-javaagent
VM option (investigated, workarounded).
- Web interface and console don't work through HTTP (uninvestigated, workarounded).
- HARMONY-4014 – Geronimo takes up all the CPU resources available.
- 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/
). When working through HTTP port (http://localhost:8080/
) 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.
...
.