Jarek, I appreciate this discussion was started. I am working through multiple-instance support for Geronimo, and it seems the code is not consistent in using org.apache.geronimo.home.dir (geronimoHome) vs org.apache.geronio.server.dir (geronimoBase).
The correct use of the two is hinted at in these two source files: 1. trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java - getGeronimoHome() - getGeronimoBase() 2. trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/system.properties - in regards to the intended purposes of karaf.home vs karaf.base (read the comments) - use of org.apache.geronimo.home.dir vs org.apache.geronimo.server.dir is similar. - org.apache.geronimo.server.dir is same as the now dead org.apache.geronimo.base.dir (a.k.a GERONIMO_BASE which I probably helped kill 3 years ago) which was not always being used correctly. If the directories are read-only, they should be referenced from the system property org.apache.geronimo.home.dir - bin - jsr88 - schema - lib If the directories are read-write, they should be referenced from the system property org.apache.geronimo.server.dir (a.k.a. geronimoBase) See: trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java - deploy - hotbundles - etc - var As you hinted, the repository/ directory could go in either right now. But because G3 cannot share repositories, it needs to be referenced under org.apache.geronimo.server.dir . But Geronimo does not currently allow for that: GERONIMO-6175 . I have been combing through the code, and the use of either is not entirely consistent. And in several locations geronimo code is redundantly trying to figure out the server base, otherwise the code just prepends the org.apache.geronimo.home.dir system property to whatever it is looking for (which is not always correct). With the addition of karaf in G3.0, and its similar needed config, it might appear there could be some confusion in the code as to what should be under karaf.home vs karaf.base system properties. If we want to share multiple instances of Geronimo (and I do) this needs to be straightened out. I'd like to see something like getGeronimoHome() and getGeronimoBase() from the package org.apache.geronimo.main.Utils used in every instance the server base needs to be known. And we should make a formal decision as to what directories should be available under `base` vs `home`. -RG On 09/20/2011 12:55 PM, Jarek Gawor wrote: > Hi, > > In Geronimo binary install which directories do we consider read-only > vs. write/read? The idea is that the read-only directories could be > shared among multiple installations to save some space and reduce > maintenance. > > Here's what I identified so far: > > read-only: > - bin > - jsr88 > - schema > - lib > > read/write: > - deploy > - hotbundles > - etc > - var > > The repository/ directory is a little weird because parts of it could > be considered read-only and some write. I wonder if maybe we should > have separate repository directories one for Geronimo bundles and > another one for applications. > > Thanks, > Jarek
