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 (tiago@imdt.com.br), Paul Gregoire (mondain@gmail.com)
-
Field Summary
Modifier and TypeFieldDescriptionprotected ApplicationContext
Spring Application contextprotected ConcurrentMap<String,
ApplicationContext> Context mapprotected String
Context location filesprotected static org.slf4j.Logger
private ObjectName
MBean object name used for de/registration purposes.protected ApplicationContext
Spring parent app context -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Registers with JMX and registers a shutdown hook.void
destroy()
Un-loads or un-initializes the contexts; this is a shutdown method for this loader.getContext
(String name) Return context by nameReturn parent contextvoid
init()
Loads context settings from ResourceBundle (.properties file)void
loadContext
(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 void
void
setApplicationContext
(ApplicationContext applicationContext) void
setContextsConfig
(String contextsConfig) Setter for context config namevoid
setParentContext
(String parentContextKey, String appContextId) Sets a parent context for child context based on a given key.void
setParentContext
(ApplicationContext parentContext) Setter for parent application contextvoid
shutdown()
Shut server down.void
unloadContext
(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:
afterPropertiesSet
in 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:
destroy
in interfaceDisposableBean
- Specified by:
destroy
in interfaceShutdownMXBean
- Throws:
Exception
-
init
Loads context settings from ResourceBundle (.properties file)- Specified by:
init
in 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:
loadContext
in 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:
unloadContext
in interfaceContextLoaderMXBean
- Parameters:
name
- Context name
-
shutdown
public void shutdown()Shut server down.- Specified by:
shutdown
in 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:
setParentContext
in interfaceContextLoaderMXBean
- Parameters:
parentContextKey
- key for the parent contextappContextId
- id of the child context
-
registerJMX
protected void registerJMX() -
unregisterJMX
protected void unregisterJMX() -
setApplicationContext
- Specified by:
setApplicationContext
in 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:
setContextsConfig
in interfaceContextLoaderMXBean
- Parameters:
contextsConfig
- Context config name
-
getContextsConfig
- Specified by:
getContextsConfig
in interfaceContextLoaderMXBean
-