[ https://issues.apache.org/jira/browse/GERONIMO-6275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13209853#comment-13209853 ]
Russell E Glaue commented on GERONIMO-6275: ------------------------------------------- Reference to documentation in the code implying the meaning and usage of "home" versus "base": {noformat:borderStyle=solid} src: trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java ... /** * The system property for specifying the Karaf home directory. The home directory * hold the binary install of Karaf. */ private static final String PROP_KARAF_HOME = "karaf.home"; /** * The system property for specifying the Karaf base directory. The base directory * holds the configuration and data for a Karaf instance. */ private static final String PROP_KARAF_BASE = "karaf.base"; ... {noformat} > Defining and Using org.apache.geronimo.server.dir versus > org.apache.geronimo.home.dir in shell scripts > ------------------------------------------------------------------------------------------------------ > > Key: GERONIMO-6275 > URL: https://issues.apache.org/jira/browse/GERONIMO-6275 > Project: Geronimo > Issue Type: Sub-task > Security Level: public(Regular issues) > Components: startup/shutdown > Affects Versions: 3.0-beta-1 > Environment: Linux x86, Red Hat Enterprise Linux Server release 5.4 > (Tikanga); Java JDK1.6.0_25 > Reporter: Russell E Glaue > Priority: Minor > Labels: geronimo > > Related: GERONIMO-6270, GERONIMO-6175, GERONIMO-6174, GERONIMO-5987, > GERONIMO-4229 > It would be easier to support multiple server instances of Geronimo if there > is one shell variable that is used to reference the path on disk to the > instance, proposed as GERONIMO_SERVER as opposed to the GERONIMO_HOME > installation path. This issue tracks the discussion and modification of such > a change. > GERONIMO_SERVER defines: > - GERONIMO_SERVER defaults to GERONIMO_HOME if no instances are specified > - GERONIMO_SERVER is expanded to GERONIMO_HOME/GERONIMO_SERVER if > GERONIMO_SERVER is a relative path > - GERONIMO_SERVER defines org.apache.geronimo.server.dir > In the java code there are the following properties: > # org.apache.geronimo.home.dir - equivelant to GERONIMO_HOME shell variable > # org.apache.geronimo.server.dir - proposed to be equivelant to > GERONIMO_SERVER > The words "BASE" versus "HOME" appear a few times in the source. Once example > is "karaf.home" and "karaf.base" properties. According to the code usage, it > is aparant that these terms are assumed to mean these things: > # HOME - path location on disk of read-only binaries and configuration > # BASE - path location on disk of read-write configuration and data storage > The term BASE is intended to point at a Geronimo Server Instance Base path. > However, this has not been clearly defined, and has appeared to cause some > misusage. Thus this and other issues lead to the removal of GERONIMO_BASE > shell variable and org.apache.geronimo.base.dir java property in > GERONIMO-4229 . > Currently, to start a Geronimo Instance, the org.apache.geronimo.server.dir > java property must be defined in the GERONIMO_OPTS variable. However, this > prevents the Shell scripts from being able to know and use the path location > to the Geronimo Server Instance. > In particular, there are a few issues affected by a variable like this not > being available. > # Reported in GERONIMO-6174 - GERONIMO_TMPDIR is set in the shell/bat scripts > as GERONIMO_HOME/var/tmp. In turn, the java property "java.io.tmpdir" is set > to GERONIMO_TMPDIR (this is GERONIMO_HOME/var/tmp). Shouldn't GERONIMO_TMPDIR > instead be set to a value provided by GERONIMO_SERVER/var/tmp ? > -- affected scripts: client, deploy, geronimo, internalLauncher, jaxws-tools > -- This can be argued to whether or not all Geronimo Server Instance should > share a common temp directory. > # Reported in GERONIMO-6174 - The java properties karaf.home and karaf.base > are both being set to GERONIMO_HOME. When instead karaf.base should be set to > a value held by GERONIMO_SERVER. > -- affected scripts: client, geronimo, internalLauncher > -- see resulting errors and reasoning in GERONIMO-6174 > # Not Reported - The java property java.util.logging.config.file is being set > to GERONIMO_HOME/etc/java.util.logging.properties . It is intended to be an > empty configuration file. This only causes a problem when using instances if > GERONIMO_HOME/etc does not exist (it would not exist if GERONIMO_SERVER/etc > is intended to be used). > -- affected scripts: client, geronimo, internalLauncher > # Not Reported - Logging startup output to GERONIMO_HOME/var/log/geronimo.out > - Obviously if multiple instances are being started, this should be > GERONIMO_SERVER/var/log/geronimo.out . Any error is silent if > var/log/geronimo.out does not exist. > -- affected scripts: geronimo > # Not Reported - The register-service script does a grep and awk on > GERONIMO_HOME/var/config/config-substitutions.properties to discover the > portOffset . Obviously this will not work for multiple instances > -- The register-service script does not take multiple instances into > consideration at all > -- affected scripts: register-service > Solution: > - Create a new shell variable GERONIMO_SERVER to hold the path location to > the run-time server configuration, and leave GERONIMO_HOME to hold the path > location to the Geronimo Installation Path. > Arguments: > - If GERONIMO_SERVER defaults to GERONIMO_HOME, then any installation not > having multiple instances configured will not be affected. > - This will not resolve the multiple instance support issue in Geronimo, > GERONIMO-6270, but having this support in the shell scripts will get Geronimo > much closer. > - About half of the currently known issues (listed above) can be resolved > with the addition of GERONIMO_SERVER as proposed. > The remaining currently known issues will be: > # GERONIMO-6174: the proper use of karaf.home versus karaf.base > # GERONIMO-6270 SnapshotConfigXMLBuilder using the > org.apache.geronimo.server.dir/var directory > # GERONIMO-5987 and GERONIMO-6270: ActiveMQ using > org.apache.geronimo.server.dir as the base for var rather than the current > working directory the run-time server is in at startup > # GERONIMO-6175: The Geronimo Repository using org.apache.geronimo.server.dir > instead of org.apache.geronimo.home.dir -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira