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.