geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Russell E Glaue <>
Subject Re: [Discussion] Running Multiple Geronimo Instances
Date Mon, 26 Sep 2011 20:37:09 GMT
The JIRA system is back up from maintenance, and I will file this.
However, I'd like to have some discussion on the mail list about these issues.

Especially considering the new addition of karaf. Has karaf been integrated so
it can be safely used between multiple instances in this manner?

I have discovered 3 issues in regards to running at least one single Geronimo
instance under a directory specified as {}
opposed to GERONIMO_HOME (or {org.apache.geronimo.home.dir}).

I have been able to workaround the first two issues by setting properties. The
third issue is one I do not have a workaround for, as a system property is not
being picked up by Geronimo.

To produce these issues, I executed the steps documented in the wiki page
and then removed the "etc", "repository", and "var" directories from GERONIMO_HOME.

On startup, the `bin/geronimo` startup script sets GERONIMO_TMPDIR explicitly as
$GERONIMO_HOME/var/temp , but the actual temp directory is really
{org.apache.geronimo.server.dir}/var/temp (or
It does not account for the cases where an instance is being started.

The workaround is to specifically specify GERONIMO_TMPDIR in your environment
before starting the instance.

Case and workaround attached as g3_mult_inst_temp_directory.txt

2) karaf.home
On startup, the `bin/geronimo` script sets karaf.home explicitly as
$GERONIMO_HOME . Karaf expects to use {karaf.home}/etc/shell.init.script each
time a shell session is started (See:
The setting of the karaf.home property in `bin/geronimo` does not account for
the cases where a Geronimo named instance is being started.

The workaround is to set karaf.home in GERONIMO_OPTS before starting the instance.

Case and workaround attached as g3_mult_inst_shell_init_script.txt

3) Repository Path
Geronimo expects the repository to be located as GERONIMO_HOME/repository , but
the actual repository directory is really
{org.apache.geronimo.server.dir}/repository (or
Geronimo does not account for the cases where an instance is being started with
its own repository.

There is a system property to define the root path of the repository, but unless
my understanding of this property is wrong, Geronimo does not use it.
  OptionClass: org.apache.geronimo.repository.boot.path
  Value: undefined
  Default: undefined
  Description: Specifies the path of the server repository.

Even if setting the property org.apache.geronimo.repository.boot.path to a valid
value (like /opt/geronimo3/gserv1/repository), you still get an error:
java.lang.IllegalStateException: Maven2Repository must have a root that's a
valid readable directory (not /opt/geronimo3/repository)

Case attached as g3_mult_inst_repository_path.txt

This is what I am using for a start script to test:

# Must change to the server directory in order to work around ActiveMQ lock
# file conflict issue reported in GERONIMO-5987.
cd ${GHOME}/${GVIRT}

export GERONIMO_TMPDIR=${GHOME}/${GVIRT}/var/temp
${GHOME}/bin/geronimo run


On 09/26/2011 09:58 AM, Russell E Glaue wrote:
> Running multiple Geronimo instances
> Now with Rex's latest patch for ActiveMQ configuration, via GERONIMO-5987, I am
> able to startup multiple instances of the Geronimo javaee6 bundle.
> Follow the startup procedures from the Wiki page and GERONIMO-5987 (for a
> workaround to the ActiveMQ lock file)
> Can anyone tell me, if one deploys multiple instances of Geronimo javaee6
> (latest snapshot only) according to the wiki page, are there are any concerns
> about a successful and long term runtime operation of the multiple instances on
> a single runtime OS?
> -RG

View raw message