[jboss-user] [JBoss Cache: Core Edition] - why eviction needs Mbean in standalone environment?

sridhar_ratna do-not-reply at jboss.com
Thu Jul 2 01:20:37 EDT 2009


Hi,

I am specifying eviction policy for some of the regions in jboss cache.
When i started the cache, its throwing exception that

  | java.lang.NullPointerException
  | 	at org.jboss.cache.config.parsing.XmlConfigurationParser2x.getMBeanElement(XmlConfigurationParser2x.java:214)
  | 

My configuration file is 

  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  | 	xmlns="urn:jboss:jbosscache-core:config:3.1">
  | 
  | 	<transaction
  | 		transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"
  | 		syncRollbackPhase="false" syncCommitPhase="false" />
  | 
  | 	<locking isolationLevel="REPEATABLE_READ"
  | 		lockParentForChildInsertRemove="false" lockAcquisitionTimeout="200000"
  | 		nodeLockingScheme="mvcc" writeSkewCheck="false" useLockStriping="false"
  | 		concurrencyLevel="500" />
  | 
  | 	<eviction wakeUpInterval="5000">
  | 		<default algorithmClass="org.jboss.cache.eviction.LRUPolicy"
  |                         eventQueueSize="200000">
  |                         <property name="maxNodes" value="10000" />
  |                         <property name="timeToLive" value="0" />
  |        </default>
  |        <region name="/male" >
  | 			<property name="maxNodes" value="10000" />
  |          	<property name="timeToLive" value="-1" />
  |          	<property name="maxAge" value="-1" />
  |       	</region>
  |       </eviction>
  | 	<!-- <invocationBatching enabled="true"/> -->
  | 	<jmxStatistics enabled="true" />
  | 
  | 	<loaders passivation="false" shared="false">
  | 		<preload>
  |             <node fqn="/male" />
  |        </preload>
  | 		
  | 		<loader class="org.jboss.cache.loader.jdbm.JdbmCacheLoader"
  | 			async="false" fetchPersistentState="true" ignoreModifications="false">
  | 			<properties>
  | 				location=c:/cache/ncrb
  |                 </properties>
  | 		</loader>
  | 	</loaders>
  | </jbosscache>
  | 

and the code fragment is 

  | package com.cmc.facts.grid;
  | 
  | import org.apache.log4j.Logger;
  | import org.jboss.cache.Cache;
  | import org.jboss.cache.CacheFactory;
  | import org.jboss.cache.DefaultCacheFactory;
  | import org.jboss.cache.Fqn;
  | import org.jboss.cache.Node;
  | 
  | /**
  |  * @author sridhar
  |  * 
  |  */
  | public final class GridJbossCacheManager {
  | 
  | 	public static final String CACHE_CFG_PATH = System.getProperty("jbcachexml.path");
  | 
  | 	/** JBoss Cache instance. */
  | 	private Cache<Long, Object> cache = null;
  | 
  | 	/** Cache node for caching example data. */
  | 	private Node<Long, Object> cacheRoot = null;
  | 	
  | 	/** Singleton instance. */
  | 	private static GridJbossCacheManager instance = null;
  | 
  | 	public static GridJbossCacheManager getInstance() {
  | 		if (instance == null) {
  | 			instance = new GridJbossCacheManager();
  | 		}
  | 		return instance;
  | 	}
  | 
  | 	public void start() {
  | 
  | 		try {
  | 			CacheFactory<Long, Object> factory = new DefaultCacheFactory<Long, Object>();
  | 			cache = factory.createCache(CACHE_CFG_PATH);
  | 
  | 			cache.create();
  | 			cache.start();		
  | 			cacheRoot = cache.getRoot();
  | 		} catch (Exception e) {
  | 			LOG.error(e.getMessage(), e);
  | 			System.exit(1);
  | 		}
  | 		LOG.debug("JBoss Cache data manager started.");
  | 	}
  | 
  | 	public void stop() {
  | 		if (cache != null) {
  | 			cache.stop();
  | 		}
  | 
  | 		instance = null;
  | 		LOG.debug("JBoss Cache data manager stopped.");
  | 	}
  | 
  |     public Cache<Long, Object> getCache() {
  |         return cache;
  |     }
  | 
  | 	public static void main(String[] args) {
  | 		GridJbossCacheManager cacheMgr = GridJbossCacheManager.getInstance();
  | 		cacheMgr.start();
  | 		
  | 	}
  | }
  | 

the exception stacktrace is


  | java.lang.NullPointerException
  | 	at org.jboss.cache.config.parsing.XmlConfigurationParser2x.getMBeanElement(XmlConfigurationParser2x.java:214)
  | 	at org.jboss.cache.config.parsing.XmlConfigurationParser2x.parseStream(XmlConfigurationParser2x.java:104)
  | 	at org.jboss.cache.config.parsing.XmlConfigurationParser2x.parseFile(XmlConfigurationParser2x.java:90)
  | 	at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:91)
  | 	at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:77)
  | 	at com.cmc.facts.grid.GridJbossCacheManager.start(GridJbossCacheManager.java:80)
  | 	at com.cmc.facts.grid.StartGridJbossCacheNode.main(StartGridJbossCacheNode.java:12)
  | 

I am using Jboss 3.1 in a standalone environment.
>From the stacktrace, its looking for MBeans. Why does it require Mbeans?

Please help me.
Thanks in advance

Sridhar

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4241349#4241349

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4241349



More information about the jboss-user mailing list