Merlin Properties
Overview
Merlin 3.2 introduces a complete property configuration model as part of the unification of the embedding strategy. Merlin properties are included in a file named "merlin.properties". Merlin will look for this file in the following locations:
Location | Description |
---|---|
${merlin.dir}/merlin.properties | This is equivalent to the ${user.dir} location unless modified by the command line -home command parameter. |
${user.home}/merlin.properties | The user's home directory. |
${merlin.home}/merlin.properties | The merlin installation directory. |
Bootstrap Properties
The following properties are established by Merlin during the bootstrap phase and cannot be override.
Property | Default Value | Description |
---|---|---|
merlin.dir | ${user.dir} | The working directory used by Merlin. This value defaults to ${user.dir} under normal circumstances. If a System property of ${basedir} is present it will be assigned as ${merlin.dir}. |
merlin.implementation | declared under package merlin.properties resource | An artifiact specification that references an alternative kernel implementation. |
Standard Properties
The following table details the set of standard properties supported by Merlin as of 3.2.
Property | Default Value | Description |
---|---|---|
merlin.home | ${user.home}/.merlin | The merlin installation directory. Can be overriden with the environment variable MERLIN_HOME. |
merlin.system | ${merlin.home}/system | The merlin system repository. |
merlin.repository | ${avalon.home} | The application repository root directory. The default value of ${avalon.home} is resolved relative to the environment variable AVALON_HOME and if undefined, will fall back to ${user.home}/.avalon. |
merlin.config | ${merlin.home}/config | The merlin system configuration directory. |
merlin.kernel | file:///${merlin.config}/kernel.xml | The merlin kernel configuration. |
merlin.context | ${merlin.dir}/home | The root directory used by merlin to construct the persistent home directory supplied to a component under the context key urn:avalon:home. |
merlin.temp | ${java.io.tmpdir} | The root directory used by merlin to construct the persistent temp directory supplied to a component under the context key urn:avalon:temp. If undefined, the JVM temp directory will be used. |
merlin.anchor | ${merlin.home} | The root directory used by merlin to resolve relative filset directory references. |
merlin.ext | ${merlin.dir} | The root directory used by merlin to resolve jar optional extension jar files. |
merlin.info | false | The info generation policy. If 'true' a short information header is generated on startup detailing the kernel parameterization state. |
merlin.debug | false | The debug generation policy. If 'true' all logging channels are assigned the DEBUG logging priority. |
merlin.audit | false | The audit generation policy. If 'true' a description of the assembled model witll be loogged during startup. Since 3.3 |
merlin.server | true | The default execution mode. If 'true' the merlin kernel will continue until expliciy stopped or process termination is invoked. If 'false' the kernel will initiate decommissioning on completion of the deployment phase. |
merlin.deployment | A comma seperated sequence of blocks to be included in the root merlin application block on startup. | |
merlin.override | The path to a configuration override targets file. Relative path statements will be resolved relative to ${merlin.dir}. | |
merlin.logging.config | Location of an external logging configuration file (since version 3.3). | |
merlin.logging.implementation | Artifact referennce to the logging system to be used. The artifact must reference a factory that supports the LoggingCriteria parameter interface and must return a LoggingManager implementation. Since 3.3. | |
merlin.runtime | Artifact reference. Overrides the automatic selection of the underlying runtime activation framework. Since 3.3. | |
merlin.runtime.implementation | Artifact reference. The default merlin runtime implementation artifact reference. Since 3.3. | |
merlin.code.security.enabled | false | If true the component security protection model will be enabled. Since 3.3. |
merlin.deployment.timeout | The default per component deployment timeout duration in milliseconds. Since 3.3. |