[jboss-cvs] JBossCache/src/org/jboss/cache/loader/tcp ...
Manik Surtani
manik at jboss.org
Mon May 21 06:30:55 EDT 2007
User: msurtani
Date: 07/05/21 06:30:55
Modified: src/org/jboss/cache/loader/tcp TcpCacheServerMBean.java
TcpCacheServer.java
Log:
JBCACHE-1053
Revision Changes Path
1.6 +5 -6 JBossCache/src/org/jboss/cache/loader/tcp/TcpCacheServerMBean.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TcpCacheServerMBean.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/loader/tcp/TcpCacheServerMBean.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- TcpCacheServerMBean.java 30 Dec 2006 17:50:01 -0000 1.5
+++ TcpCacheServerMBean.java 21 May 2007 10:30:55 -0000 1.6
@@ -1,6 +1,7 @@
package org.jboss.cache.loader.tcp;
-import org.jboss.cache.CacheImpl;
+import org.jboss.cache.Cache;
+import org.jboss.cache.CacheSPI;
import org.jboss.cache.jmx.LifeCycle;
import javax.management.MalformedObjectNameException;
@@ -8,7 +9,7 @@
/**
* @author Bela Ban
- * @version $Id: TcpCacheServerMBean.java,v 1.5 2006/12/30 17:50:01 msurtani Exp $
+ * @version $Id: TcpCacheServerMBean.java,v 1.6 2007/05/21 10:30:55 msurtani Exp $
*/
public interface TcpCacheServerMBean extends LifeCycle
{
@@ -28,11 +29,9 @@
void setConfig(String config);
- //TreeCacheMBean getCache();
- CacheImpl getCache();
+ Cache getCache();
- void setCache(CacheImpl cache);
- //void setCache(TreeCacheMBean cache);
+ void setCache(CacheSPI cache);
String getCacheName();
1.28 +50 -53 JBossCache/src/org/jboss/cache/loader/tcp/TcpCacheServer.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TcpCacheServer.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/loader/tcp/TcpCacheServer.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- TcpCacheServer.java 25 Jan 2007 21:54:05 -0000 1.27
+++ TcpCacheServer.java 21 May 2007 10:30:55 -0000 1.28
@@ -2,17 +2,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.jboss.cache.Cache;
import org.jboss.cache.CacheException;
-import org.jboss.cache.CacheImpl;
+import org.jboss.cache.CacheSPI;
import org.jboss.cache.DefaultCacheFactory;
import org.jboss.cache.Fqn;
import org.jboss.cache.Modification;
+import org.jboss.cache.Node;
import org.jboss.cache.NodeSPI;
-import org.jboss.cache.jmx.JmxUtil;
import org.jboss.cache.loader.DelegatingCacheLoader;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import java.io.BufferedInputStream;
@@ -26,6 +25,7 @@
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -36,21 +36,19 @@
* TCP-IP based CacheServer, setCache TcpDelegatingCacheLoader with host and port of this server
*
* @author Bela Ban
- * @version $Id: TcpCacheServer.java,v 1.27 2007/01/25 21:54:05 genman Exp $
+ * @version $Id: TcpCacheServer.java,v 1.28 2007/05/21 10:30:55 msurtani Exp $
*/
public class TcpCacheServer implements TcpCacheServerMBean
{
- ServerSocket srv_sock;
- InetAddress bind_addr = null;
- int port = 7500;
- CacheImpl cache;
- //TreeCacheMBean cache;
- ObjectName cache_name;
- String config;
- boolean running = true;
- final List<Connection> conns = new LinkedList<Connection>();
- String agendId;
- Thread serverThread;
+ private ServerSocket srv_sock;
+ private InetAddress bind_addr = null;
+ private int port = 7500;
+ private CacheSPI cache;
+ private ObjectName cache_name;
+ private String config;
+ private boolean running = true;
+ private final List<Connection> conns = new LinkedList<Connection>();
+ private String agendId;
/**
* whether or not to start the server thread as a daemon. Should be false if started from the command line, true if started as an MBean.
*/
@@ -105,15 +103,13 @@
this.config = config;
}
- //public TreeCacheMBean getCache() {
- public CacheImpl getCache()
+ public Cache getCache()
{
return cache;
}
- public void setCache(CacheImpl cache)
+ public void setCache(CacheSPI cache)
{
- //public void setCache(TreeCacheMBean cache) {
this.cache = cache;
}
@@ -130,21 +126,10 @@
public void start() throws Exception
{
if (cache == null)
- {
- MBeanServer server = JmxUtil.getMBeanServer();
- // 1. check whether we have an object name, pointing to the cache MBean
- if (cache_name != null && server != null)
- {
- //cache = (CacheImpl) MBeanProxyExt.create(CacheImpl.class, cache_name, server);
- cache = (CacheImpl) MBeanServerInvocationHandler.newProxyInstance(server, cache_name, CacheImpl.class, false);
- }
- }
-
- if (cache == null)
{// still not set
if (config != null)
{
- cache = (CacheImpl) DefaultCacheFactory.getInstance().createCache(this.config);
+ cache = (CacheSPI) DefaultCacheFactory.getInstance().createCache(this.config);
}
}
@@ -160,7 +145,7 @@
running = true;
- serverThread = new Thread("TcpCacheServer")
+ Thread serverThread = new Thread("TcpCacheServer")
{
public void run()
{
@@ -245,13 +230,13 @@
private class Connection implements Runnable
{
- Socket sock = null;
- ObjectInputStream input = null;
- ObjectOutputStream output = null;
- CacheImpl c;
- Thread t = null;
+ private Socket sock = null;
+ private ObjectInputStream input = null;
+ private ObjectOutputStream output = null;
+ private CacheSPI c;
+ private Thread t = null;
- public Connection(Socket sock, CacheImpl cache) throws IOException
+ public Connection(Socket sock, CacheSPI cache) throws IOException
{
this.sock = sock;
@@ -331,8 +316,9 @@
{
case DelegatingCacheLoader.delegateGetChildrenNames:
fqn = (Fqn) input.readObject();
- Set children = c.getChildrenNames(fqn);
- output.writeObject(children);// this may be null - that's okay
+ Node node = c.getRoot().getChild(fqn);
+ Set<Object> children = node == null ? Collections.emptySet() : node.getChildrenNames();
+ output.writeObject(children);
break;
case DelegatingCacheLoader.delegateGetKey:
fqn = (Fqn) input.readObject();
@@ -342,7 +328,7 @@
break;
case DelegatingCacheLoader.delegateGet:
fqn = (Fqn) input.readObject();
- n = (NodeSPI) c.get(fqn);
+ n = (NodeSPI) c.getRoot().getChild(fqn);
if (n == null)
{// node doesn't exist - return null
output.writeObject(n);
@@ -354,8 +340,8 @@
break;
case DelegatingCacheLoader.delegateExists:
fqn = (Fqn) input.readObject();
- flag = c.exists(fqn);
- output.writeObject(Boolean.valueOf(flag));
+ flag = c.getRoot().hasChild(fqn);
+ output.writeObject(flag);
break;
case DelegatingCacheLoader.delegatePutKeyVal:
fqn = (Fqn) input.readObject();
@@ -403,27 +389,37 @@
break;
case DelegatingCacheLoader.delegateRemove:
fqn = (Fqn) input.readObject();
- c.remove(fqn);
+ c.removeNode(fqn);
output.writeObject(Boolean.TRUE);
break;
case DelegatingCacheLoader.delegateRemoveData:
fqn = (Fqn) input.readObject();
- c.removeData(fqn);
- output.writeObject(Boolean.TRUE);
+ node = c.getRoot().getChild(fqn);
+ if (node != null)
+ {
+ node.clearData();
+ output.writeObject(true);
+ }
+ else
+ {
+ output.writeObject(false);
+ }
+
break;
case DelegatingCacheLoader.delegateLoadEntireState:
ObjectOutputStream os = (ObjectOutputStream) input.readObject();
- if (c.getCacheLoader() != null)
+
+ if (c.getCacheLoaderManager() != null)
{
- c.getCacheLoader().loadEntireState(os);
+ c.getCacheLoaderManager().getCacheLoader().loadEntireState(os);
}
output.writeObject(Boolean.TRUE);
break;
case DelegatingCacheLoader.delegateStoreEntireState:
ObjectInputStream is = (ObjectInputStream) input.readObject();
- if (c.getCacheLoader() != null)
+ if (c.getCacheLoaderManager() != null)
{
- c.getCacheLoader().storeEntireState(is);
+ c.getCacheLoaderManager().getCacheLoader().storeEntireState(is);
}
output.writeObject(Boolean.TRUE);
break;
@@ -477,13 +473,14 @@
c.put(m.getFqn(), m.getKey(), m.getValue());
break;
case REMOVE_DATA:
- c.removeData(m.getFqn());
+ Node n = c.getRoot().getChild(m.getFqn());
+ if (n != null) n.clearData();
break;
case REMOVE_KEY_VALUE:
c.remove(m.getFqn(), m.getKey());
break;
case REMOVE_NODE:
- c.remove(m.getFqn());
+ c.removeNode(m.getFqn());
break;
case MOVE:
c.move(m.getFqn(), m.getFqn2());
More information about the jboss-cvs-commits
mailing list