<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>Concepts - Kernel</title>
		<link type="text/css" rel="stylesheet" href="../../book.css"/>
	</head>
	<body>
		<table class="navigation" style="width: 100%;" border="0" summary="navigation">
			<tr>
				<th style="width: 100%" align="center" colspan="3">Kernel</th>
			</tr>
			<tr>
				<td style="width: 20%" align="left">
					<a href="Concepts.html" title="Concepts">
						<img alt="Previous" border="0" src="../../images/prev.gif"/>
					</a>
				</td>
				<td style="width: 60%" align="center"></td>
				<td style="width: 20%" align="right">
					<a href="Regions.html" title="Regions">
						<img alt="Next" border="0" src="../../images/next.gif"/>
					</a>
				</td>
			</tr>
			<tr>
				<td style="width: 20%" align="left" valign="top">Concepts</td>
				<td style="width: 60%" align="center"></td>
				<td style="width: 20%" align="right" valign="top">Regions</td>
			</tr>
		</table><hr/>
		<h1 id="Kernel">Kernel</h1>
		<p>The Virgo kernel is the core runtime which may be used on its own or to deploy one or more server types and applications for those server types. The kernel houses the deployment pipeline, described below, as well as support for common artifact types (bundle, configuration, plan, and PAR), regions, scoping, and other core Virgo features. </p>
		<p>Currently, for example, the Virgo web server packaging build uses the kernel to deploy a web server plan which includes the Gemini web container and the Virgo web bundle (which integrates Gemini web into Virgo). </p>
		<p>The startup scripts launch the kernel which then installs, and optionally starts, each of a configurable collection of bundles to provide kernel function. The kernel bundles are located in lib/kernel and are referenced by the launcher.bundles property in the configuration file lib/org.eclipse.virgo.kernel.launch.properties. This property specifies a list of bundles, which is transitively closed with respect to dependencies, and specifies which of these bundles are started after all the bundles in the list are installed. </p>
		<p>The following properties may be specified in the kernel launch properties configuration file (lib/org.eclipse.virgo.kernel.launch.properties):
			<br/> 
		</p>
		<table border="1" cellpadding="1" cellspacing="1" width="70%">
			<tr>
				<td>+ Kernel Launch Properties </td>
			</tr>
			<tr>
				<th>
					<b>Property name</b> 
				</th>
				<th>
					<b>Definition</b> 
				</th>
				<th>
					<b>Default value</b>
				</th>
			</tr>
			<tr>
				<td>launcher.bundles </td>
				<td>Comma separated list of bundles to be installed in the kernel region. The list must be transitively closed with respect to non-optional dependencies. Each item in the list is a "file:" URL optionally followed by "@start" if the bundle is to be started. </td>
				<td>None&lt;sup&gt;a&lt;/sup&gt;</td>
			</tr>
			<tr>
				<td>org.eclipse.gemini.web.tomcat.config.path </td>
				<td>The file path, either absolute or relative to the current working directory, of the Tomcat configuration file. </td>
				<td>None&lt;sup&gt;b&lt;/sup&gt;</td>
			</tr>
			<tr>
				<td>org.eclipse.virgo.kernel.config </td>
				<td>The file path, either absolute or relative to the current working directory, of the directory containing kernel configuration files. </td>
				<td>config</td>
			</tr>
			<tr>
				<td>org.eclipse.virgo.kernel.domain </td>
				<td>The JMX domain for kernel mbeans. </td>
				<td>org.eclipse.virgo.kernel</td>
			</tr>
			<tr>
				<td>org.eclipse.virgo.kernel.home </td>
				<td>The file path, either absolute or relative to the current working directory, of the directory for kernel instance specific directories such as work and serviceability&nbsp; </td>
				<td>Current working directory</td>
			</tr>
			<tr>
				<td>org.eclipse.virgo.medic.log.config.path </td>
				<td>The file path, either absolute or relative to the current working directory, of the medic serviceability configuration file, typically named serviceability.xml </td>
				<td>None&lt;sup&gt;a&lt;/sup&gt;</td>
			</tr>
			<tr></tr>
		</table>
		<p>See also the 
			<a href="http://www.eclipse.org/equinox/documents/quickstart.php" target="doc_external">standard OSGi and Equinox framework properties</a> that may be specified in the kernel launch properties configuration file.
		</p><hr/>
		<table class="navigation" style="width: 100%;" border="0" summary="navigation">
			<tr>
				<td style="width: 20%" align="left">
					<a href="Concepts.html" title="Concepts">
						<img alt="Previous" border="0" src="../../images/prev.gif"/>
					</a>
				</td>
				<td style="width: 60%" align="center">
					<a href="Concepts.html" title="Concepts">
						<img alt="Concepts" border="0" src="../../images/home.gif"/>
					</a>
				</td>
				<td style="width: 20%" align="right">
					<a href="Regions.html" title="Regions">
						<img alt="Next" border="0" src="../../images/next.gif"/>
					</a>
				</td>
			</tr>
			<tr>
				<td style="width: 20%" align="left" valign="top">Concepts</td>
				<td style="width: 60%" align="center"></td>
				<td style="width: 20%" align="right" valign="top">Regions</td>
			</tr>
		</table>
	</body>
</html>