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.junit4.AbstractMuleContextTestCase;
16
17 import java.util.List;
18
19 import javax.management.MBeanServer;
20 import javax.management.MBeanServerFactory;
21
22 import org.junit.Test;
23
24 public class MuleAgentsTestCase extends AbstractMuleContextTestCase
25 {
26
27 protected JmxAgent jmxAgent;
28
29 public MuleAgentsTestCase()
30 {
31 setStartContext(false);
32 }
33
34 @Override
35 protected void doSetUp() throws Exception
36 {
37 super.doSetUp();
38 jmxAgent = muleContext.getRegistry().lookupObject(JmxAgent.class);
39 }
40
41 @Test
42 public void testRemoveNonExistentAgent() throws Exception
43 {
44 muleContext.getRegistry().unregisterAgent("DOES_NOT_EXIST");
45
46 }
47
48 @Test
49 public void testAgentsRegistrationOrder() throws Exception
50 {
51
52
53
54
55
56 jmxAgent.setName("jmxAgent");
57
58 Mx4jAgent agentSecond = new Mx4jAgent();
59 agentSecond.setName("mx4jAgent");
60 muleContext.getRegistry().registerAgent(agentSecond);
61
62
63 muleContext.start();
64 }
65
66
67
68
69
70
71 @Test
72 public void testJmxAgentInjectedMBeanServer() throws Exception
73 {
74 List<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null);
75 MBeanServer server;
76 server = servers == null || servers.isEmpty()
77 ? MBeanServerFactory.createMBeanServer()
78 : (MBeanServer) servers.get(0);
79 jmxAgent.setCreateServer(false);
80 jmxAgent.setLocateServer(false);
81 jmxAgent.setMBeanServer(server);
82
83 muleContext.start();
84 }
85 }