1
2
3
4
5
6
7
8
9
10
11 package org.mule.management.agents;
12
13 import org.mule.module.management.agent.JmxAgent;
14 import org.mule.module.management.agent.Mx4jAgent;
15 import org.mule.tck.AbstractMuleTestCase;
16
17 import java.util.List;
18
19 import javax.management.MBeanServer;
20 import javax.management.MBeanServerFactory;
21
22 public class MuleAgentsTestCase extends AbstractMuleTestCase
23 {
24
25 protected JmxAgent jmxAgent;
26
27 public MuleAgentsTestCase()
28 {
29 setStartContext(false);
30 }
31
32 @Override
33 protected void doSetUp() throws Exception
34 {
35 super.doSetUp();
36 jmxAgent = (JmxAgent) muleContext.getRegistry().lookupObject(JmxAgent.class);
37 }
38
39 public void testRemoveNonExistentAgent() throws Exception
40 {
41 muleContext.getRegistry().unregisterAgent("DOES_NOT_EXIST");
42
43 }
44
45 public void testAgentsRegistrationOrder() throws Exception
46 {
47
48
49
50
51
52 jmxAgent.setName("jmxAgent");
53
54 Mx4jAgent agentSecond = new Mx4jAgent();
55 agentSecond.setName("mx4jAgent");
56 muleContext.getRegistry().registerAgent(agentSecond);
57
58
59 muleContext.start();
60 }
61
62
63
64
65
66
67 public void testJmxAgentInjectedMBeanServer() throws Exception
68 {
69 List servers = MBeanServerFactory.findMBeanServer(null);
70 MBeanServer server;
71 server = servers == null || servers.isEmpty()
72 ? MBeanServerFactory.createMBeanServer()
73 : (MBeanServer) servers.get(0);
74 jmxAgent.setCreateServer(false);
75 jmxAgent.setLocateServer(false);
76 jmxAgent.setMBeanServer(server);
77
78 muleContext.start();
79 }
80 }