Package org.nuxeo.runtime
Class AbstractRuntimeService
java.lang.Object
org.nuxeo.runtime.AbstractRuntimeService
- All Implemented Interfaces:
RuntimeService
- Direct Known Subclasses:
OSGiRuntimeService
,SimpleRuntime
,TestRuntime
Abstract implementation of the Runtime Service.
Implementors are encouraged to extend this class instead of directly implementing the RuntimeService
interface.
- Author:
- Bogdan Stefanescu
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
Configure the logging system (log4j) at runtime startup and do any cleanup is needed when the runtime is stopped -
Field Summary
Modifier and TypeFieldDescriptionprotected final RuntimeContext
protected boolean
protected boolean
protected AbstractRuntimeService.LogConfig
protected ComponentManager
protected final RuntimeMessageHandlerImpl
Message handler for runtime.protected CryptoProperties
static final String
Property that controls whether or not to redirect JUL to JCL.static final String
protected File
-
Constructor Summary
ModifierConstructorDescriptionprotected
protected
AbstractRuntimeService
(DefaultRuntimeContext context, Map<String, String> properties) -
Method Summary
Modifier and TypeMethodDescriptionprotected ComponentManager
protected void
doStart()
protected void
doStop()
expandVars
(String expression) Replaces any substring in the form${property.name}
with the corresponding runtime property value if any, otherwise leaves the substring unchanged.protected static URL
org.osgi.framework.Bundle
Get an installed bundle given its symbolic name.getBundleFile
(org.osgi.framework.Bundle bundle) OSGi frameworks are using a stringBundle.getLocation()
to identify bundle locations.getComponent
(ComponentName name) Gets a component given its name.Gets a component implementation instance given its name.Gets the component manager.Gets the context of the runtime bundle.Gets the description of this runtime service.static Thread
getErrorLoggerThread
(String message) Error logger which does its logging from a separate thread, for thread isolation.getHome()
Gets the home directory of the runtime.Gets the runtime message handler.Gets runtime service properties.getProperty
(String name) Gets a runtime service property given its name.getProperty
(String name, String defValue) Gets a property value using a default value if the property was not set.<T> T
getService
(Class<T> serviceClass) Gets the service of type serviceClass if such a service was declared by a resolved runtime component.boolean
Computes the runtime status, adds it to the given string builder, and return true if some problems have been detected.boolean
Returns true if the runtime is shutting down.boolean
Returns true if the runtime is started.protected void
void
void
setProperty
(String name, Object value) void
start()
Starts the runtime.void
stop()
Stops the runtime.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.nuxeo.runtime.RuntimeService
getComponent, getComponentInstance, getName, getVersion, reloadProperties
-
Field Details
-
REDIRECT_JUL
Property that controls whether or not to redirect JUL to JCL. By default is true (JUL will be redirected)- See Also:
-
REDIRECT_JUL_THRESHOLD
- See Also:
-
isStarted
protected boolean isStarted -
isShuttingDown
protected boolean isShuttingDown -
workingDir
-
properties
-
manager
-
context
-
logConfig
-
messageHandler
Message handler for runtime. This handler takes care to store messages with the component manager step.- Since:
- 9.10
-
-
Constructor Details
-
AbstractRuntimeService
-
AbstractRuntimeService
-
-
Method Details
-
getMessageHandler
Description copied from interface:RuntimeService
Gets the runtime message handler. You can add new messages or just retrieve them.Warning messages don't block server startup, but error messages do in strict mode.
- Specified by:
getMessageHandler
in interfaceRuntimeService
- Returns:
- the message handler for runtime.
- Since:
- 9.10
-
createComponentManager
-
getBuiltinFeatureURL
-
start
public void start()Description copied from interface:RuntimeService
Starts the runtime.- Specified by:
start
in interfaceRuntimeService
-
stop
public void stop()Description copied from interface:RuntimeService
Stops the runtime.- Specified by:
stop
in interfaceRuntimeService
-
isStarted
public boolean isStarted()Description copied from interface:RuntimeService
Returns true if the runtime is started.- Specified by:
isStarted
in interfaceRuntimeService
- Returns:
- true if the runtime is started, false otherwise
-
isShuttingDown
public boolean isShuttingDown()Description copied from interface:RuntimeService
Returns true if the runtime is shutting down.- Specified by:
isShuttingDown
in interfaceRuntimeService
- Returns:
- true if the runtime is shutting down, false otherwise
-
loadConfig
- Throws:
IOException
-
doStart
protected void doStart() -
doStop
protected void doStop() -
getHome
Description copied from interface:RuntimeService
Gets the home directory of the runtime.- Specified by:
getHome
in interfaceRuntimeService
- Returns:
- the home directory
-
setHome
-
getDescription
Description copied from interface:RuntimeService
Gets the description of this runtime service.- Specified by:
getDescription
in interfaceRuntimeService
- Returns:
- the runtime service description
-
getProperties
Description copied from interface:RuntimeService
Gets runtime service properties.- Specified by:
getProperties
in interfaceRuntimeService
- Returns:
- the runtime properties
-
getProperty
Description copied from interface:RuntimeService
Gets a runtime service property given its name.- Specified by:
getProperty
in interfaceRuntimeService
- Parameters:
name
- the property name- Returns:
- the property value if any or null if none
-
getProperty
Description copied from interface:RuntimeService
Gets a property value using a default value if the property was not set.- Specified by:
getProperty
in interfaceRuntimeService
- Parameters:
name
- the property namedefValue
- the default value to use when the property doesn't exists- Returns:
- the property value
-
setProperty
- Specified by:
setProperty
in interfaceRuntimeService
-
toString
-
getComponent
Description copied from interface:RuntimeService
Gets a component given its name.- Specified by:
getComponent
in interfaceRuntimeService
- Parameters:
name
- the component name- Returns:
- the component, or null if no such component was registered
-
getComponentInstance
Description copied from interface:RuntimeService
Gets a component implementation instance given its name.- Specified by:
getComponentInstance
in interfaceRuntimeService
- Parameters:
name
- the component name- Returns:
- the component or null if no such component was registered
-
getComponentManager
Description copied from interface:RuntimeService
Gets the component manager.- Specified by:
getComponentManager
in interfaceRuntimeService
- Returns:
- the component manager
-
getContext
Description copied from interface:RuntimeService
Gets the context of the runtime bundle.- Specified by:
getContext
in interfaceRuntimeService
- Returns:
- the context object
-
getService
Description copied from interface:RuntimeService
Gets the service of type serviceClass if such a service was declared by a resolved runtime component.If the component is not yet activated, it will be prior to return the service.
- Specified by:
getService
in interfaceRuntimeService
- Type Parameters:
T
- the service type- Parameters:
serviceClass
- the service class- Returns:
- the service object
-
expandVars
Description copied from interface:RuntimeService
Replaces any substring in the form${property.name}
with the corresponding runtime property value if any, otherwise leaves the substring unchanged.- Specified by:
expandVars
in interfaceRuntimeService
- Parameters:
expression
- the expression to process- Returns:
- the expanded expression
-
getBundleFile
Description copied from interface:RuntimeService
OSGi frameworks are using a stringBundle.getLocation()
to identify bundle locations.This method try to convert the bundle location to real file if possible. If this bundle location cannot be converted to a file (e.g. it may be a remote URL), null is returned.
This method works only for bundles that are installed as files on the host file system.
- Specified by:
getBundleFile
in interfaceRuntimeService
- Returns:
- the bundle file, or null
-
getBundle
Description copied from interface:RuntimeService
Get an installed bundle given its symbolic name. This method is not handling versions.- Specified by:
getBundle
in interfaceRuntimeService
-
getStatusMessage
Description copied from interface:RuntimeService
Computes the runtime status, adds it to the given string builder, and return true if some problems have been detected.- Specified by:
getStatusMessage
in interfaceRuntimeService
- Parameters:
msg
- summary message about all components loading status- Returns:
- true if there was no detected error, else return false
- Since:
- 5.5
-
getErrorLoggerThread
Error logger which does its logging from a separate thread, for thread isolation.- Parameters:
message
- the message to log- Returns:
- a thread that can be started to do the logging
- Since:
- 9.2, 8.10-HF05
-