Class MbeansSource
- java.lang.Object
-
- org.apache.commons.modeler.modules.ModelerSource
-
- org.apache.commons.modeler.modules.MbeansSource
-
- All Implemented Interfaces:
MbeansSourceMBean
public class MbeansSource extends ModelerSource implements 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
-
-
Field Summary
-
Fields inherited from class org.apache.commons.modeler.modules.ModelerSource
location, source
-
-
Constructor Summary
Constructors Constructor Description MbeansSource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
void
execute()
String
getLocation()
List
getMBeans()
Return the list of mbeans created by this source.Object
getSource()
void
init()
Call the init method on all mbeans.void
load()
Load the mbeans from the source.List
loadDescriptors(Registry registry, String location, String type, Object source)
Load data, returns a list of items.void
save()
Store the mbeans.void
setLocation(String loc)
void
setRegistry(Registry reg)
void
setSource(Object source)
Set the source to be used to load the mbeansvoid
setType(String type)
Used if a single component is loadedvoid
start()
void
stop()
void
updateField(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
-
-
-
-
Method Detail
-
setRegistry
public void setRegistry(Registry reg)
-
setLocation
public void setLocation(String loc)
-
setType
public void setType(String type)
Used if a single component is loaded- Parameters:
type
-
-
setSource
public void setSource(Object source)
Description copied from interface:MbeansSourceMBean
Set the source to be used to load the mbeans- Specified by:
setSource
in interfaceMbeansSourceMBean
- Parameters:
source
- File or URL
-
getSource
public Object getSource()
- Specified by:
getSource
in interfaceMbeansSourceMBean
-
getLocation
public String getLocation()
-
getMBeans
public List getMBeans()
Return the list of mbeans created by this source. It can be used to implement runtime services.- Specified by:
getMBeans
in interfaceMbeansSourceMBean
- Returns:
- List of ObjectName
-
loadDescriptors
public List loadDescriptors(Registry registry, String location, String type, Object source) throws Exception
Description copied from class:ModelerSource
Load data, returns a list of items.- Overrides:
loadDescriptors
in classModelerSource
source
- Introspected object or some other source- Throws:
Exception
-
init
public void init() throws Exception
Description copied from interface:MbeansSourceMBean
Call the init method on all mbeans. Will call load if not done already- Specified by:
init
in interfaceMbeansSourceMBean
- Throws:
Exception
-
load
public void load() throws Exception
Description copied from interface:MbeansSourceMBean
Load the mbeans from the source. Called automatically on init()- Specified by:
load
in interfaceMbeansSourceMBean
- Throws:
Exception
-
updateField
public void updateField(ObjectName oname, String name, Object value)
Description copied from class:ModelerSource
Callback from the BaseMBean to notify that an attribute has changed. Can be used to implement persistence.- Overrides:
updateField
in classModelerSource
-
save
public void save()
Store the mbeans. XXX add a background thread to store it periodically- Specified by:
save
in interfaceMbeansSourceMBean
-
-