|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.karaf.main.Main
public class Main
This class is the default way to instantiate and execute the framework. It is not intended to be the only way to instantiate and execute the framework; rather, it is one example of how to do so. When embedding the framework in a host application, this class can serve as a simple guide of how to do so. It may even be worthwhile to reuse some of its property handling capabilities. This class is completely static and is only intended to start a single instance of the framework.
Field Summary | |
---|---|
static java.lang.String |
BUNDLE_LOCATIONS
Config property which identifies directories which contain bundles to be loaded by SMX |
static java.lang.String |
CONFIG_PROPERTIES_FILE_NAME
The default name used for the configuration properties file. |
static java.lang.String |
DEFAULT_REPO
|
static java.lang.String |
DEFAULT_SHUTDOWN_COMMAND
|
static java.lang.String |
ENV_KARAF_BASE
The environment variable for specifying the Karaf base directory. |
static java.lang.String |
ENV_KARAF_DATA
The environment variable for specifying the Karaf data directory. |
static java.lang.String |
ENV_KARAF_HOME
The environment variable for specifying the Karaf home directory. |
static java.lang.String |
ENV_KARAF_INSTANCES
The system property for specifying the Karaf data directory. |
static java.lang.String |
INCLUDES_PROPERTY
|
static java.lang.String |
KARAF_FRAMEWORK
|
static java.lang.String |
KARAF_FRAMEWORK_FACTORY
|
static java.lang.String |
KARAF_SHUTDOWN_COMMAND
|
static java.lang.String |
KARAF_SHUTDOWN_HOST
|
static java.lang.String |
KARAF_SHUTDOWN_PID_FILE
|
static java.lang.String |
KARAF_SHUTDOWN_PORT
|
static java.lang.String |
KARAF_SHUTDOWN_PORT_FILE
|
static java.lang.String |
KARAF_SHUTDOWN_TIMEOUT
|
static java.lang.String |
PROP_KARAF_BASE
The system property for specifying the Karaf base directory. |
static java.lang.String |
PROP_KARAF_DATA
The system property for specifying the Karaf data directory. |
static java.lang.String |
PROP_KARAF_HOME
The system property for specifying the Karaf home directory. |
static java.lang.String |
PROP_KARAF_INSTANCES
The system property for specifying the Karaf data directory. |
static java.lang.String |
PROPERTY_AUTO_INSTALL
The property name prefix for the launcher's auto-install property. |
static java.lang.String |
PROPERTY_AUTO_START
The property for auto-discovering the bundles |
static java.lang.String |
PROPERTY_CONVERT_TO_MAVEN_URL
Config property that indicates we want to convert bundles locations to maven style urls |
static java.lang.String |
PROPERTY_LOCK_CLASS
The lock implementation |
static java.lang.String |
PROPERTY_LOCK_CLASS_DEFAULT
|
static java.lang.String |
PROPERTY_LOCK_DELAY
|
static java.lang.String |
PROPERTY_LOCK_LEVEL
|
static java.lang.String |
PROPERTY_USE_LOCK
If a lock should be used before starting the runtime |
static java.lang.String |
STARTUP_PROPERTIES_FILE_NAME
The default name used for the startup properties file. |
static java.lang.String |
SYSTEM_PROPERTIES_FILE_NAME
The default name used for the system properties file. |
Constructor Summary | |
---|---|
Main(java.lang.String[] args)
|
Method Summary | |
---|---|
void |
awaitShutdown()
|
protected static void |
copySystemProperties(java.util.Properties configProps)
|
boolean |
destroy()
|
java.lang.String[] |
getArgs()
Retrieve the arguments used when launching Karaf |
int |
getExitCode()
|
org.osgi.framework.launch.Framework |
getFramework()
|
void |
launch()
|
protected static java.util.Properties |
loadPropertiesFile(java.net.URL configPropURL,
boolean failIfNotFound)
|
protected static void |
loadSystemProperties(java.io.File karafBase)
Loads the properties in the system property file associated with the framework installation into System.setProperty(). |
void |
lock(java.util.Properties props)
|
static void |
main(java.lang.String[] args)
This method performs the main task of constructing an framework instance and starting its execution. |
void |
setExitCode(int exitCode)
|
void |
setShutdownCallback(ShutdownCallback shutdownCallback)
|
protected void |
setStartLevel(int level)
|
protected void |
setupShutdown(java.util.Properties props)
|
static java.lang.String |
substVars(java.lang.String val,
java.lang.String currentKey,
java.util.Map<java.lang.String,java.lang.String> cycleMap,
java.util.Properties configProps)
This method performs property variable substitution on the specified value. |
void |
unlock()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String SYSTEM_PROPERTIES_FILE_NAME
public static final java.lang.String CONFIG_PROPERTIES_FILE_NAME
public static final java.lang.String STARTUP_PROPERTIES_FILE_NAME
public static final java.lang.String PROPERTY_AUTO_INSTALL
public static final java.lang.String PROPERTY_AUTO_START
public static final java.lang.String PROP_KARAF_HOME
public static final java.lang.String ENV_KARAF_HOME
public static final java.lang.String PROP_KARAF_BASE
public static final java.lang.String ENV_KARAF_BASE
public static final java.lang.String PROP_KARAF_DATA
public static final java.lang.String ENV_KARAF_DATA
public static final java.lang.String PROP_KARAF_INSTANCES
public static final java.lang.String ENV_KARAF_INSTANCES
public static final java.lang.String BUNDLE_LOCATIONS
public static final java.lang.String PROPERTY_CONVERT_TO_MAVEN_URL
public static final java.lang.String PROPERTY_USE_LOCK
public static final java.lang.String PROPERTY_LOCK_CLASS
public static final java.lang.String PROPERTY_LOCK_DELAY
public static final java.lang.String PROPERTY_LOCK_LEVEL
public static final java.lang.String DEFAULT_REPO
public static final java.lang.String KARAF_FRAMEWORK
public static final java.lang.String KARAF_FRAMEWORK_FACTORY
public static final java.lang.String KARAF_SHUTDOWN_TIMEOUT
public static final java.lang.String KARAF_SHUTDOWN_PORT
public static final java.lang.String KARAF_SHUTDOWN_HOST
public static final java.lang.String KARAF_SHUTDOWN_PORT_FILE
public static final java.lang.String KARAF_SHUTDOWN_COMMAND
public static final java.lang.String KARAF_SHUTDOWN_PID_FILE
public static final java.lang.String DEFAULT_SHUTDOWN_COMMAND
public static final java.lang.String PROPERTY_LOCK_CLASS_DEFAULT
public static final java.lang.String INCLUDES_PROPERTY
Constructor Detail |
---|
public Main(java.lang.String[] args)
Method Detail |
---|
public void setShutdownCallback(ShutdownCallback shutdownCallback)
public void launch() throws Exception
Exception
public void awaitShutdown() throws Exception
Exception
public boolean destroy() throws Exception
Exception
public static void main(java.lang.String[] args) throws Exception
This method performs the main task of constructing an framework instance and starting its execution. The following functions are performed when invoked:
It should be noted that simply starting an instance of the framework is not enough to create an interactive session with it. It is necessary to install and start bundles that provide an interactive impl; this is generally done by specifying an "auto-start" property in the framework configuration property file. If no interactive impl bundles are installed or if the configuration property file cannot be found, the framework will appear to be hung or deadlocked. This is not the case, it is executing correctly, there is just no way to interact with it. Refer to the Felix constructor documentation for more information on framework configuration options.
args
- An array of arguments, all of which are ignored.
Exception
- If an error occurs.protected static void loadSystemProperties(java.io.File karafBase)
Loads the properties in the system property file associated with the framework installation into System.setProperty(). These properties are not directly used by the framework in anyway. By default, the system property file is located in the conf/ directory of the Felix installation directory and is called "system.properties". The installation directory of Felix is assumed to be the parent directory of the felix.jar file as found on the system class path property. The precise file from which to load system properties can be set by initializing the "felix.system.properties" system property to an arbitrary URL.
karafBase
- the karaf base folderprotected static java.util.Properties loadPropertiesFile(java.net.URL configPropURL, boolean failIfNotFound) throws Exception
Exception
protected static void copySystemProperties(java.util.Properties configProps)
public static java.lang.String substVars(java.lang.String val, java.lang.String currentKey, java.util.Map<java.lang.String,java.lang.String> cycleMap, java.util.Properties configProps) throws java.lang.IllegalArgumentException
This method performs property variable substitution on the specified value. If the specified value contains the syntax ${<prop-name>}, where <prop-name> refers to either a configuration property or a system property, then the corresponding property value is substituted for the variable placeholder. Multiple variable placeholders may exist in the specified value as well as nested variable placeholders, which are substituted from inner most to outer most. Configuration properties override system properties.
val
- The string on which to perform property substitution.currentKey
- The key of the property being evaluated used to
detect cycles.cycleMap
- Map of variable references used to detect nested cycles.configProps
- Set of configuration properties.
java.lang.IllegalArgumentException
- If there was a syntax error in the
property placeholder syntax or a recursive variable reference.public java.lang.String[] getArgs()
public int getExitCode()
public void setExitCode(int exitCode)
public org.osgi.framework.launch.Framework getFramework()
public void lock(java.util.Properties props)
public void unlock() throws Exception
Exception
protected void setStartLevel(int level) throws Exception
Exception
protected void setupShutdown(java.util.Properties props)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |