org.jboss.cache.loader
Class RmiDelegatingCacheLoader

java.lang.Object
  extended by org.jboss.cache.loader.DelegatingCacheLoader
      extended by org.jboss.cache.loader.RmiDelegatingCacheLoader
All Implemented Interfaces:
CacheLoader, org.jboss.system.Service

public class RmiDelegatingCacheLoader
extends DelegatingCacheLoader

DelegatingCacheLoader implementation which delegates to a remote (not in the same VM) TreeCache using the Java RMI mechanism. If configured via an XML configuration file, the remote TreeCache delegated to is this cacheloader's cache's coordinator. If configured programmatically, this cacheloader may delegate to any remote cache that has been appropriately bound. This CacheLoader expects three configuration properties: host, port and bindName. If the host propety is not specified, it defaults to localhost; if the port property is not specified, it defaults to 1098; if the bindName property is not specified, it defaults to the cacheloader's cache's cluster name.

Version:
$Id: RmiDelegatingCacheLoader.java,v 1.7 2006/02/03 17:12:21 msurtani Exp $
Author:
Daniel Gredler

Field Summary
 
Fields inherited from class org.jboss.cache.loader.DelegatingCacheLoader
delegateExists, delegateGet, delegateGetChildrenNames, delegateGetKey, delegateLoadEntireState, delegatePut, delegatePutKeyVal, delegateRemove, delegateRemoveData, delegateRemoveKey, delegateStoreEntireState, putList
 
Constructor Summary
RmiDelegatingCacheLoader()
          Default constructor.
RmiDelegatingCacheLoader(TreeCache cache, java.lang.String host, int port, java.lang.String bindName)
          Allows programmatic configuration.
 
Method Summary
protected  boolean delegateExists(Fqn name)
           
protected  java.util.Map delegateGet(Fqn name)
           
protected  java.util.Set delegateGetChildrenNames(Fqn fqn)
           
 byte[] delegateLoadEntireState()
           
protected  void delegatePut(Fqn name, java.util.Map attributes)
           
protected  java.lang.Object delegatePut(Fqn name, java.lang.Object key, java.lang.Object value)
           
protected  void delegatePut(java.util.List modifications)
           
protected  void delegateRemove(Fqn name)
           
protected  java.lang.Object delegateRemove(Fqn name, java.lang.Object key)
           
protected  void delegateRemoveData(Fqn name)
           
 void delegateStoreEntireState(byte[] state)
           
 void setCache(TreeCache cache)
          Allows configuration via XML config file.
 void setConfig(java.util.Properties props)
          Allows configuration via XML config file.
 
Methods inherited from class org.jboss.cache.loader.DelegatingCacheLoader
commit, create, destroy, exists, get, getChildrenNames, loadEntireState, prepare, put, put, put, put, remove, remove, removeData, rollback, start, stop, storeEntireState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RmiDelegatingCacheLoader

public RmiDelegatingCacheLoader()
Default constructor.


RmiDelegatingCacheLoader

public RmiDelegatingCacheLoader(TreeCache cache,
                                java.lang.String host,
                                int port,
                                java.lang.String bindName)
Allows programmatic configuration.

Parameters:
cache - The cache that the cacheloader will acting on behalf of.
host - The host on which to look up the remote object.
port - The port on which to look up the remote object.
bindName - The name to which the remote object is bound.
Method Detail

setConfig

public void setConfig(java.util.Properties props)
Allows configuration via XML config file.

Specified by:
setConfig in interface CacheLoader
Specified by:
setConfig in class DelegatingCacheLoader
Parameters:
props - a collection of configuration properties
See Also:
DelegatingCacheLoader.setConfig(java.util.Properties)

setCache

public void setCache(TreeCache cache)
Allows configuration via XML config file.

Specified by:
setCache in interface CacheLoader
Specified by:
setCache in class DelegatingCacheLoader
Parameters:
cache - The cache on which this loader works
See Also:
DelegatingCacheLoader.setCache(org.jboss.cache.TreeCache)

delegateGetChildrenNames

protected java.util.Set delegateGetChildrenNames(Fqn fqn)
                                          throws java.lang.Exception
Specified by:
delegateGetChildrenNames in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateGetChildrenNames(org.jboss.cache.Fqn)

delegateGet

protected java.util.Map delegateGet(Fqn name)
                             throws java.lang.Exception
Specified by:
delegateGet in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateGet(org.jboss.cache.Fqn)

delegateExists

protected boolean delegateExists(Fqn name)
                          throws java.lang.Exception
Specified by:
delegateExists in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateExists(org.jboss.cache.Fqn)

delegatePut

protected java.lang.Object delegatePut(Fqn name,
                                       java.lang.Object key,
                                       java.lang.Object value)
                                throws java.lang.Exception
Specified by:
delegatePut in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegatePut(org.jboss.cache.Fqn, java.lang.Object, java.lang.Object)

delegatePut

protected void delegatePut(Fqn name,
                           java.util.Map attributes)
                    throws java.lang.Exception
Specified by:
delegatePut in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegatePut(org.jboss.cache.Fqn, java.util.Map)

delegatePut

protected void delegatePut(java.util.List modifications)
                    throws java.lang.Exception
Specified by:
delegatePut in class DelegatingCacheLoader
Throws:
java.lang.Exception

delegateRemove

protected java.lang.Object delegateRemove(Fqn name,
                                          java.lang.Object key)
                                   throws java.lang.Exception
Specified by:
delegateRemove in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateRemove(org.jboss.cache.Fqn, java.lang.Object)

delegateRemove

protected void delegateRemove(Fqn name)
                       throws java.lang.Exception
Specified by:
delegateRemove in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateRemove(org.jboss.cache.Fqn)

delegateRemoveData

protected void delegateRemoveData(Fqn name)
                           throws java.lang.Exception
Specified by:
delegateRemoveData in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateRemoveData(org.jboss.cache.Fqn)

delegateLoadEntireState

public byte[] delegateLoadEntireState()
                               throws java.lang.Exception
Specified by:
delegateLoadEntireState in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateLoadEntireState()

delegateStoreEntireState

public void delegateStoreEntireState(byte[] state)
                              throws java.lang.Exception
Specified by:
delegateStoreEntireState in class DelegatingCacheLoader
Throws:
java.lang.Exception
See Also:
DelegatingCacheLoader.delegateStoreEntireState(byte[])


Copyright 1998-2005 JBoss Inc . All Rights Reserved.