1
2
3
4
5
6
7
8
9
10 package org.mule.management.support;
11
12 import org.mule.api.context.MuleContextBuilder;
13 import org.mule.config.DefaultMuleConfiguration;
14 import org.mule.management.AbstractMuleJmxTestCase;
15 import org.mule.module.management.mbean.StatisticsService;
16 import org.mule.module.management.support.JmxModernSupport;
17
18 import java.util.Arrays;
19 import java.util.List;
20
21 import javax.management.ObjectName;
22
23 public class JmxSupportTestCase extends AbstractMuleJmxTestCase
24 {
25 private final String MANAGER_ID = "Test_Instance";
26 private final String TEST_DOMAIN = JmxModernSupport.DEFAULT_JMX_DOMAIN_PREFIX + "." + MANAGER_ID;
27
28 @Override
29 protected void configureMuleContext(MuleContextBuilder contextBuilder)
30 {
31 super.configureMuleContext(contextBuilder);
32
33 DefaultMuleConfiguration config = new DefaultMuleConfiguration();
34 config.setId(MANAGER_ID);
35 contextBuilder.setMuleConfiguration(config);
36 }
37
38 public void testClashingDomains() throws Exception
39 {
40
41 ObjectName name = ObjectName.getInstance(TEST_DOMAIN + ":name=TestDuplicates");
42 mBeanServer.registerMBean(new StatisticsService(), name);
43
44 muleContext.start();
45
46 List<String> domains = Arrays.asList(mBeanServer.getDomains());
47 assertTrue("Should have contained an original domain.", domains.contains(TEST_DOMAIN));
48 assertTrue("Should have contained a new domain.", domains.contains(TEST_DOMAIN + ".1"));
49 }
50
51 public void testClashingSuffixedDomains() throws Exception
52 {
53
54
55 int numOriginalDomains = mBeanServer.getDomains().length;
56
57
58 ObjectName name = ObjectName.getInstance(TEST_DOMAIN + ":name=TestDuplicates");
59 mBeanServer.registerMBean(new StatisticsService(), name);
60
61
62 name = ObjectName.getInstance(TEST_DOMAIN + ".1" + ":name=TestDuplicates");
63 mBeanServer.registerMBean(new StatisticsService(), name);
64
65 assertEquals("Wrong number of domains created.",
66 numOriginalDomains + 2, mBeanServer.getDomains().length);
67
68 muleContext.start();
69
70 List<String> domains = Arrays.asList(mBeanServer.getDomains());
71
72 assertEquals("Wrong number of domains created.",
73 numOriginalDomains + 3, domains.size());
74
75 assertTrue("Should have contained an original domain.", domains.contains(TEST_DOMAIN));
76 assertTrue("Should have contained an original suffixed domain.", domains.contains(TEST_DOMAIN + ".1"));
77 assertTrue("Should have contained a new domain.", domains.contains(TEST_DOMAIN + ".2"));
78 }
79
80 }