Class MbeansSource
java.lang.Object
org.apache.commons.modeler.modules.ModelerSource
org.apache.commons.modeler.modules.MbeansSource
- All Implemented Interfaces:
MbeansSourceMBean
This will create mbeans based on a config file.
The format is an extended version of MLET.
Classloading. We don't support any explicit classloader tag.
A ClassLoader is just an mbean ( it can be the standard MLetMBean or
a custom one ).
XXX add a special attribute to reference the loader mbean,
XXX figure out how to deal with private loaders
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Document(package private) long(package private) static boolean(package private) booleanprivate static org.apache.commons.logging.Log(package private) Listprivate HashMap(package private) Registry(package private) String(package private) longFields inherited from class org.apache.commons.modeler.modules.ModelerSource
location, source -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()voidexecute()Return the list of mbeans created by this source.voidinit()Call the init method on all mbeans.voidload()Load the mbeans from the source.loadDescriptors(Registry registry, String location, String type, Object source) Load data, returns a list of items.private MbeansSource.ArgsInfoprocessArg(Node mbeanN) private voidprocessAttribute(MBeanServer server, Node descN, String objectName) voidsave()Store the mbeans.voidsetLocation(String loc) voidsetRegistry(Registry reg) voidSet the source to be used to load the mbeansvoidUsed if a single component is loadedvoidstart()voidstop()voidupdateField(ObjectName oname, String name, Object value) Callback from the BaseMBean to notify that an attribute has changed.Methods inherited from class org.apache.commons.modeler.modules.ModelerSource
getInputStream, store
-
Field Details
-
Constructor Details
-
MbeansSource
public MbeansSource()
-
-
Method Details
-
setRegistry
-
setLocation
-
setType
Used if a single component is loaded- Parameters:
type-
-
setSource
Description copied from interface:MbeansSourceMBeanSet the source to be used to load the mbeans- Specified by:
setSourcein interfaceMbeansSourceMBean- Parameters:
source- File or URL
-
getSource
- Specified by:
getSourcein interfaceMbeansSourceMBean
-
getLocation
-
getMBeans
Return the list of mbeans created by this source. It can be used to implement runtime services.- Specified by:
getMBeansin interfaceMbeansSourceMBean- Returns:
- List of ObjectName
-
loadDescriptors
public List loadDescriptors(Registry registry, String location, String type, Object source) throws Exception Description copied from class:ModelerSourceLoad data, returns a list of items.- Overrides:
loadDescriptorsin classModelerSource- Parameters:
registry-location-type-source- Introspected object or some other source- Throws:
Exception
-
start
- Throws:
Exception
-
stop
- Throws:
Exception
-
init
Description copied from interface:MbeansSourceMBeanCall the init method on all mbeans. Will call load if not done already- Specified by:
initin interfaceMbeansSourceMBean- Throws:
Exception
-
destroy
- Throws:
Exception
-
load
Description copied from interface:MbeansSourceMBeanLoad the mbeans from the source. Called automatically on init()- Specified by:
loadin interfaceMbeansSourceMBean- Throws:
Exception
-
execute
- Throws:
Exception
-
updateField
Description copied from class:ModelerSourceCallback from the BaseMBean to notify that an attribute has changed. Can be used to implement persistence.- Overrides:
updateFieldin classModelerSource- Parameters:
oname-name-value-
-
save
public void save()Store the mbeans. XXX add a background thread to store it periodically- Specified by:
savein interfaceMbeansSourceMBean
-
processAttribute
-
processArg
-