public class AgentJMXComponents<T extends IAgent> extends Object
Contains list of IJMXEnabled components that should be enabled when the whole JMX feature of the agent is fired up.
Note that jmx domain is taken from the java property "pogamut.jmx.domain".
Modifier and Type | Field and Description |
---|---|
static String |
JMX_SERVER_AGENT_NAME_DELIM
Separates JMX server address and the agent's MBean object name in address
exported to the outside.
|
static String |
LOG_CATEGORY_NAME |
Constructor and Description |
---|
AgentJMXComponents(T agent) |
Modifier and Type | Method and Description |
---|---|
void |
addComponent(IJMXEnabled component)
Adding new IJMXEnabled component to the list - registering it so it will
be notified when the enableJMX() is called.
|
protected AgentMBeanAdapter |
createAgentMBean(ObjectName objectName,
MBeanServer mbs)
Factory method for creating agent MBean.
|
String |
enableJMX()
This enables the JMX feature on the whole agent notifying all IJMXEnabled
components to register itself to provided mBeanServer.
|
ObjectName |
getAgentJMXName()
Returns ObjectName of the agent.
|
String |
getJMXDomain()
JMX domain of the whole agent - used to construct ObjectName instances.
|
MBeanServer |
getMBeanServer()
MBeanServer, if null the jmx is not enabled.
|
boolean |
isJMXEnabled()
Whether the JMX is enabled or not.
|
void |
registerJMX()
Re-register all agent's MBeans / Listener into the MBeanServer again.
|
void |
unregisterJMX()
Unregister all agent's MBeans / Listeners from MBeanServer.
|
public static final String LOG_CATEGORY_NAME
public static final String JMX_SERVER_AGENT_NAME_DELIM
@Inject public AgentJMXComponents(T agent)
public void addComponent(IJMXEnabled component)
component
- public MBeanServer getMBeanServer()
public String getJMXDomain()
public boolean isJMXEnabled()
public ObjectName getAgentJMXName()
public String enableJMX() throws JMXAlreadyEnabledException, CantStartJMXException
Note that jmxDomain must be well-formed in JMX Object Name sense.
mBeanServer
- jmxDomain
- JMXAlreadyEnabledException
CantStartJMXException
protected AgentMBeanAdapter createAgentMBean(ObjectName objectName, MBeanServer mbs) throws MalformedObjectNameException, InstanceAlreadyExistsException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException
objectName
- mbs
- MalformedObjectNameException
InstanceAlreadyExistsException
MBeanRegistrationException
NotCompliantMBeanException
public void unregisterJMX()
public void registerJMX()
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.