KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > cache > pojo > jmx > MBeanTest


1 /*
2  * JBoss, Home of Professional Open Source
3  *
4  * Distributable under LGPL license.
5  * See terms of license at gnu.org.
6  */

7
8 package org.jboss.cache.pojo.jmx;
9
10 import junit.framework.TestCase;
11 import org.jboss.cache.pojo.jmx.JmxUtil;
12 import org.jboss.cache.pojo.jmx.PojoCacheJmxWrapper;
13 import org.jboss.cache.pojo.PojoCacheFactory;
14 import org.jboss.cache.config.Configuration;
15
16 import javax.management.MBeanServer JavaDoc;
17 import javax.management.ObjectName JavaDoc;
18 import javax.management.MalformedObjectNameException JavaDoc;
19 import javax.management.MBeanServerFactory JavaDoc;
20
21 /**
22  * Tests the cache as an MBean
23  *
24  * @author <a HREF="mailto:ben.wang@jboss.org">Ben Wang</a>
25  */

26 public class MBeanTest extends TestCase
27 {
28    private org.jboss.cache.pojo.PojoCache cache;
29    private MBeanServer JavaDoc mBeanServer;
30    private ObjectName JavaDoc mBeanName;
31    private String JavaDoc mBeanNameStr;
32
33    protected void setUp() throws Exception JavaDoc
34    {
35       mBeanServer = MBeanServerFactory.createMBeanServer("CacheMBeanTest");
36
37       Configuration c = new Configuration();
38       c.setClusterName("PojoCacheMBeanTest");
39       c.setExposeManagementStatistics(true);
40       c.setCacheMode(Configuration.CacheMode.LOCAL);
41       boolean toStart = false;
42       cache = PojoCacheFactory.createCache(c, toStart);
43       cache.start();
44
45       mBeanNameStr = JmxUtil.getPojoCacheObjectName(cache);
46       mBeanName = new ObjectName JavaDoc(mBeanNameStr);
47       PojoCacheJmxWrapper wrapper = new PojoCacheJmxWrapper(cache);
48       mBeanServer.registerMBean(wrapper, mBeanName);
49       wrapper.create();
50       wrapper.start();
51    }
52
53    protected void tearDown()
54    {
55       if (cache != null)
56       {
57          cache.stop();
58          cache = null;
59       }
60
61       if (mBeanServer != null)
62       {
63          MBeanServerFactory.releaseMBeanServer(mBeanServer);
64          mBeanServer = null;
65       }
66    }
67
68    public void testDummy()
69    {
70
71    }
72
73    public void XtestCacheMBeanBinding() throws Exception JavaDoc
74    {
75       String JavaDoc tmpName = JmxUtil.getCacheObjectName((org.jboss.cache.CacheSPI)cache.getCache());
76       ObjectName JavaDoc tmpBeanName = new ObjectName JavaDoc(tmpName);
77       assertTrue("Cache Mbean should be registered ", mBeanServer.isRegistered(tmpBeanName));
78       assertTrue("PojoCache Mbean hould be registered ", mBeanServer.isRegistered(mBeanName));
79    }
80
81    public void XtestConfiguration() throws Exception JavaDoc
82    {
83       String JavaDoc tmpName = JmxUtil.getCacheObjectName((org.jboss.cache.CacheSPI)cache.getCache());
84       ObjectName JavaDoc tmpBeanName = new ObjectName JavaDoc(tmpName);
85       Configuration cfgFromJmx = (Configuration) mBeanServer.getAttribute(tmpBeanName, "Configuration");
86       assertEquals(cache.getCache().getConfiguration(), cfgFromJmx);
87    }
88
89    public void XtestCacheOperations() throws Exception JavaDoc
90    {
91       String JavaDoc cacheName = (String JavaDoc) mBeanServer.getAttribute(mBeanName, "UnderlyingCacheObjectName");
92       String JavaDoc tmpName = JmxUtil.getCacheObjectName((org.jboss.cache.CacheSPI)cache.getCache());
93       assertEquals("Cache object name ", tmpName, cacheName);
94    }
95
96 }
97
Popular Tags