Package org.red5.server
Class ContextLoader
java.lang.Object
org.red5.server.ContextLoader
- All Implemented Interfaces:
ContextLoaderMXBean,ShutdownMXBean,Aware,DisposableBean,InitializingBean,ApplicationContextAware
@ManagedResource(objectName="org.red5.server:name=contextLoader,type=ContextLoader",
description="ContextLoader")
public class ContextLoader
extends Object
implements ApplicationContextAware, InitializingBean, DisposableBean, ContextLoaderMXBean
Red5 applications loader
- Author:
- The Red5 Project, Tiago Jacobs ([email protected]), Paul Gregoire ([email protected])
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ApplicationContextSpring Application contextprotected ConcurrentMap<String,ApplicationContext> Context mapprotected StringContext location filesprotected static org.slf4j.Loggerprivate ObjectNameMBean object name used for de/registration purposes.protected ApplicationContextSpring parent app context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidRegisters with JMX and registers a shutdown hook.voiddestroy()Un-loads or un-initializes the contexts; this is a shutdown method for this loader.getContext(String name) Return context by nameReturn parent contextvoidinit()Loads context settings from ResourceBundle (.properties file)voidloadContext(String name, String config) Loads a context (Red5 application) and stores it in a context map, then adds it's beans to parent (that is, Red5)protected voidvoidsetApplicationContext(ApplicationContext applicationContext) voidsetContextsConfig(String contextsConfig) Setter for context config namevoidsetParentContext(String parentContextKey, String appContextId) Sets a parent context for child context based on a given key.voidsetParentContext(ApplicationContext parentContext) Setter for parent application contextvoidshutdown()Shut server down.voidunloadContext(String name) Unloads a context (Red5 application) and removes it from the context map, then removes it's beans from the parent (that is, Red5)protected void
-
Field Details
-
log
protected static org.slf4j.Logger log -
applicationContext
Spring Application context -
parentContext
Spring parent app context -
contextsConfig
Context location files -
oName
MBean object name used for de/registration purposes. -
contextMap
Context map
-
-
Constructor Details
-
ContextLoader
public ContextLoader()
-
-
Method Details
-
afterPropertiesSet
Registers with JMX and registers a shutdown hook.- Specified by:
afterPropertiesSetin interfaceInitializingBean- Throws:
Exception- I/O exception, casting exception and others
-
destroy
Un-loads or un-initializes the contexts; this is a shutdown method for this loader.- Specified by:
destroyin interfaceDisposableBean- Specified by:
destroyin interfaceShutdownMXBean- Throws:
Exception
-
init
Loads context settings from ResourceBundle (.properties file)- Specified by:
initin interfaceContextLoaderMXBean- Throws:
IOException
-
loadContext
Loads a context (Red5 application) and stores it in a context map, then adds it's beans to parent (that is, Red5)- Specified by:
loadContextin interfaceContextLoaderMXBean- Parameters:
name- Context nameconfig- Filename
-
unloadContext
Unloads a context (Red5 application) and removes it from the context map, then removes it's beans from the parent (that is, Red5)- Specified by:
unloadContextin interfaceContextLoaderMXBean- Parameters:
name- Context name
-
shutdown
public void shutdown()Shut server down.- Specified by:
shutdownin interfaceContextLoaderMXBean
-
getContext
Return context by name- Parameters:
name- Context name- Returns:
- Application context for given name
-
setParentContext
Sets a parent context for child context based on a given key.- Specified by:
setParentContextin interfaceContextLoaderMXBean- Parameters:
parentContextKey- key for the parent contextappContextId- id of the child context
-
registerJMX
protected void registerJMX() -
unregisterJMX
protected void unregisterJMX() -
setApplicationContext
- Specified by:
setApplicationContextin interfaceApplicationContextAware- Parameters:
applicationContext- Spring application context- Throws:
BeansException- Top level exception for app context (that is, in fact, beans factory)
-
setParentContext
Setter for parent application context- Parameters:
parentContext- Parent Spring application context
-
getParentContext
Return parent context- Returns:
- parent application context
-
setContextsConfig
Setter for context config name- Specified by:
setContextsConfigin interfaceContextLoaderMXBean- Parameters:
contextsConfig- Context config name
-
getContextsConfig
- Specified by:
getContextsConfigin interfaceContextLoaderMXBean
-