1 package cz.cuni.amis.pogamut.base.agent.module;
2
3 import java.util.logging.Logger;
4
5 import javax.management.MBeanServer;
6 import javax.management.ObjectName;
7
8 import cz.cuni.amis.pogamut.base.agent.exceptions.CantStartJMXException;
9 import cz.cuni.amis.pogamut.base.agent.exceptions.JMXAlreadyEnabledException;
10 import cz.cuni.amis.pogamut.base.agent.impl.AbstractAgent;
11 import cz.cuni.amis.pogamut.base.agent.jmx.AgentJMXComponents;
12 import cz.cuni.amis.pogamut.base.agent.jmx.IJMXEnabled;
13 import cz.cuni.amis.pogamut.base.component.controller.ComponentDependencyType;
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public abstract class JMXAgentModule<AGENT extends AbstractAgent> extends AgentModule<AGENT> implements IJMXEnabled {
29
30
31
32
33
34 public JMXAgentModule(AGENT agent) {
35 this(agent, null);
36 }
37
38
39
40
41
42
43 public JMXAgentModule(AGENT agent, Logger log) {
44 super(agent, log);
45 agent.getJMX().addComponent(this);
46 }
47
48
49
50
51 @Override
52 public abstract void enableJMX(MBeanServer mBeanServer, ObjectName parent) throws JMXAlreadyEnabledException, CantStartJMXException;
53
54 }