JBoss Cache SVN: r5327 - core/trunk/src/test/java/org/jboss/cache/statetransfer.
by jbosscache-commits@lists.jboss.org
Author: mircea.markus
Date: 2008-02-07 13:29:47 -0500 (Thu, 07 Feb 2008)
New Revision: 5327
Modified:
core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferConcurrencyTest.java
Log:
removed failing assertins: issues was that state transfer started AFTER the eviction removed the nodes from the first cache.
Modified: core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferConcurrencyTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferConcurrencyTest.java 2008-02-07 17:56:11 UTC (rev 5326)
+++ core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferConcurrencyTest.java 2008-02-07 18:29:47 UTC (rev 5327)
@@ -518,10 +518,8 @@
caches.put("evict2", cache2);
Node<Object, Object> parent = cache2.getRoot().getChild(Fqn.fromString("/org/jboss/test/data"));
- Set children = parent.getChildren();
- assertEquals("All data children transferred", 5, children.size());
parent = cache2.getRoot().getChild(Fqn.fromString("/base"));
- children = parent.getChildren();
+ Set children = parent.getChildren();
assertTrue("Minimum number of base children transferred", children.size() >= 5000);
// Sleep 2.5 secs so the nodes we are about to create in data won't
16 years, 2 months
JBoss Cache SVN: r5326 - core/trunk/src/test/java/org/jboss/cache/config.
by jbosscache-commits@lists.jboss.org
Author: bstansberry(a)jboss.com
Date: 2008-02-07 12:56:11 -0500 (Thu, 07 Feb 2008)
New Revision: 5326
Added:
core/trunk/src/test/java/org/jboss/cache/config/EvictionRegionConfigurationTest.java
Log:
[JBAS-1288] Test for duplicate default region
Added: core/trunk/src/test/java/org/jboss/cache/config/EvictionRegionConfigurationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/config/EvictionRegionConfigurationTest.java (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/config/EvictionRegionConfigurationTest.java 2008-02-07 17:56:11 UTC (rev 5326)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.cache.config;
+
+
+import static org.testng.AssertJUnit.fail;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.cache.Fqn;
+import org.jboss.cache.RegionManager;
+import org.jboss.cache.eviction.EvictionPolicy;
+import org.jboss.cache.eviction.LRUPolicy;
+import org.testng.annotations.Test;
+
+/**
+ * @author <a href="mailto:brian.stansberry@jboss.org">Brian Stansberry</a>
+ */
+@Test(groups = {"functional", "jgroups", "transaction"})
+public class EvictionRegionConfigurationTest
+{
+ /**
+ * This test duplicates the way the JBoss Microcontainer goes about
+ * building up an eviction config, and checks that at the
+ * end of the process there is only one _default_ region configured.
+ *
+ * @throws Exception
+ */
+ public void testDuplicateDefaultRegion() throws Exception
+ {
+ EvictionConfig ec = new EvictionConfig();
+ ec.setDefaultEvictionPolicyClass(LRUPolicy.class.getName());
+
+ List<EvictionRegionConfig> ercs = ec.getEvictionRegionConfigs();
+
+ EvictionRegionConfig erc = new EvictionRegionConfig();
+ erc.setRegionFqn(RegionManager.DEFAULT_REGION);
+ erc.setRegionName("_default_");
+ EvictionPolicy policy = LRUPolicy.class.newInstance();
+ erc.setEvictionPolicyConfig(policy.getEvictionConfigurationClass().newInstance());
+
+ ercs.add(erc);
+
+ ec.setEvictionRegionConfigs(ercs);
+
+ ercs = ec.getEvictionRegionConfigs();
+
+ Set<Fqn> fqns = new HashSet<Fqn>();
+ for (EvictionRegionConfig cfg : ercs)
+ {
+ if (fqns.contains(cfg.getRegionFqn()))
+ fail("duplicate region fqn " + cfg.getRegionFqn());
+ fqns.add(cfg.getRegionFqn());
+ }
+
+ }
+}
16 years, 2 months
JBoss Cache SVN: r5325 - in core/trunk/src: main/java/org/jboss/cache/marshall and 1 other directories.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-02-07 12:47:59 -0500 (Thu, 07 Feb 2008)
New Revision: 5325
Modified:
core/trunk/src/main/java/org/jboss/cache/factories/TransactionManagerFactory.java
core/trunk/src/main/java/org/jboss/cache/factories/XmlConfigurationParser.java
core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java
core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/AsyncReplTest.java
Log:
Added some null checks
Modified: core/trunk/src/main/java/org/jboss/cache/factories/TransactionManagerFactory.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/factories/TransactionManagerFactory.java 2008-02-07 15:45:29 UTC (rev 5324)
+++ core/trunk/src/main/java/org/jboss/cache/factories/TransactionManagerFactory.java 2008-02-07 17:47:59 UTC (rev 5325)
@@ -30,7 +30,9 @@
{
try
{
- Class clazz = Thread.currentThread().getContextClassLoader().loadClass(configuration.getTransactionManagerLookupClass());
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ if (cl == null) cl = getClass().getClassLoader();
+ Class clazz = cl.loadClass(configuration.getTransactionManagerLookupClass());
lookup = (TransactionManagerLookup) clazz.newInstance();
}
catch (Exception e)
Modified: core/trunk/src/main/java/org/jboss/cache/factories/XmlConfigurationParser.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/factories/XmlConfigurationParser.java 2008-02-07 15:45:29 UTC (rev 5324)
+++ core/trunk/src/main/java/org/jboss/cache/factories/XmlConfigurationParser.java 2008-02-07 17:47:59 UTC (rev 5325)
@@ -193,7 +193,8 @@
protected InputStream getAsInputStreamFromClassLoader(String filename)
{
- InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(filename);
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ InputStream is = cl == null ? null : cl.getResourceAsStream(filename);
if (is == null)
{
// check system class loader
Modified: core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java 2008-02-07 15:45:29 UTC (rev 5324)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java 2008-02-07 17:47:59 UTC (rev 5325)
@@ -134,7 +134,7 @@
else
{
UnmarshalledReferences refMap = useRefs ? new UnmarshalledReferences() : null;
- Object retValue = unmarshallObject(in, defaultClassLoader, refMap);
+ Object retValue = unmarshallObject(in, defaultClassLoader, refMap, false);
if (trace) log.trace("Unmarshalled object " + retValue);
return retValue;
}
@@ -200,11 +200,11 @@
{
if (log.isDebugEnabled())
log.debug("Region does not exist for Fqn " + regionFqn + " - not using a context classloader.");
- retValue = unmarshallObject(in, defaultClassLoader, refMap);
+ retValue = unmarshallObject(in, defaultClassLoader, refMap, false);
}
else
{
- retValue = unmarshallObject(in, region.getClassLoader(), refMap);
+ retValue = unmarshallObject(in, region.getClassLoader(), refMap, true);
// only set this if this is an incoming method call and not a return value.
if (!isReturnValue(retValue)) regionForCall.set(regionFqn);
@@ -517,7 +517,7 @@
// --------- Unmarshalling methods
- private Object unmarshallObject(ObjectInputStream in, ClassLoader loader, UnmarshalledReferences refMap) throws Exception
+ private Object unmarshallObject(ObjectInputStream in, ClassLoader loader, UnmarshalledReferences refMap, boolean overrideContextClassloaderOnThread) throws Exception
{
if (loader == null)
{
@@ -530,12 +530,12 @@
try
{
// only do this if we haven't already set a context class loader elsewhere.
- if (old == null) currentThread.setContextClassLoader(loader);
+ if (overrideContextClassloaderOnThread || old == null) currentThread.setContextClassLoader(loader);
return unmarshallObject(in, refMap);
}
finally
{
- if (old == null) currentThread.setContextClassLoader(null);
+ if (overrideContextClassloaderOnThread || old == null) currentThread.setContextClassLoader(null);
}
}
}
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java 2008-02-07 15:45:29 UTC (rev 5324)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java 2008-02-07 17:47:59 UTC (rev 5325)
@@ -52,12 +52,7 @@
@AfterMethod(alwaysRun = true)
public void tearDown() throws Exception
{
- if (cache != null)
- {
- cache.stop();
- cache = null;
- rman = null;
- }
+ TestingUtil.killCaches(cache);
}
public void testDefaultActive() throws Exception
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/AsyncReplTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/AsyncReplTest.java 2008-02-07 15:45:29 UTC (rev 5324)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/AsyncReplTest.java 2008-02-07 17:47:59 UTC (rev 5325)
@@ -52,6 +52,7 @@
@BeforeMethod(alwaysRun = true)
public void setUp() throws Exception
{
+ resetContextClassLoader();
log("creating cache1");
cache1 = createCache("TestCache");
16 years, 2 months
JBoss Cache SVN: r5324 - core/trunk/src/test/java/org/jboss/cache/marshall.
by jbosscache-commits@lists.jboss.org
Author: bstansberry(a)jboss.com
Date: 2008-02-07 10:45:29 -0500 (Thu, 07 Feb 2008)
New Revision: 5324
Modified:
core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
Log:
Clean up unused crud
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-02-07 15:03:42 UTC (rev 5323)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-02-07 15:45:29 UTC (rev 5324)
@@ -35,8 +35,6 @@
{
private static final String tmpDir = System.getProperty("java.io.tmpdir") + File.separatorChar + "CacheLoaderMarshallingTest";
- private static final String className = "org.jboss.cache.marshall.MyUUID";
-
private Cache<Object, Object> cache;
private Fqn fqn = Fqn.fromString("/a");
@@ -58,15 +56,6 @@
f.deleteOnExit();
}
- @Override
- protected ClassLoader getClassLoader()
- {
- String[] includesClasses = {className};
- String[] excludesClasses = {};
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- return new SelectedClassnameClassLoader(includesClasses, excludesClasses, cl);
- }
-
public void testCacheLoaderMarshalling() throws Exception
{
cacheLoaderMarshallingTest(false);
16 years, 2 months
JBoss Cache SVN: r5323 - in core/trunk/src: main/java/org/jboss/cache/marshall and 1 other directories.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-02-07 10:03:42 -0500 (Thu, 07 Feb 2008)
New Revision: 5323
Added:
core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java
Modified:
core/trunk/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java
core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java
core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderConfig.java
core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java
core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
Log:
JBCACHE-1287 - CacheLoader load operations cannot deserialize types not visible to cache
Modified: core/trunk/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java 2008-02-07 14:14:03 UTC (rev 5322)
+++ core/trunk/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java 2008-02-07 15:03:42 UTC (rev 5323)
@@ -12,6 +12,7 @@
import org.jboss.cache.CacheSPI;
import org.jboss.cache.Fqn;
import org.jboss.cache.Modification;
+import org.jboss.cache.Region;
import org.jboss.cache.RegionManager;
import org.jboss.cache.buddyreplication.BuddyManager;
import org.jboss.cache.marshall.Marshaller;
@@ -173,6 +174,69 @@
this.regionManager = regionManager;
}
+ protected void regionAwareMarshall(Fqn fqn, Object toMarshall) throws Exception
+ {
+ Region r = regionManager == null ? null : regionManager.getRegion(fqn, Region.Type.MARSHALLING, false);
+ ClassLoader originalClassLoader = null;
+ boolean needToResetLoader = false;
+ Thread current = null;
+
+ if (r != null)
+ {
+ // set the region's class loader as the thread's context classloader
+ needToResetLoader = true;
+ current = Thread.currentThread();
+ originalClassLoader = current.getContextClassLoader();
+ current.setContextClassLoader(r.getClassLoader());
+ }
+
+ try
+ {
+ doMarshall(fqn, toMarshall);
+ }
+ finally
+ {
+ if (needToResetLoader) current.setContextClassLoader(originalClassLoader);
+ }
+ }
+
+ protected Object regionAwareUnmarshall(Fqn fqn, Object toUnmarshall) throws Exception
+ {
+ Region r = regionManager == null ? null : regionManager.getRegion(fqn, Region.Type.MARSHALLING, false);
+ ClassLoader originalClassLoader = null;
+ boolean needToResetLoader = false;
+ Thread current = null;
+
+ if (r != null)
+ {
+ // set the region's class loader as the thread's context classloader
+ needToResetLoader = true;
+ current = Thread.currentThread();
+ originalClassLoader = current.getContextClassLoader();
+ current.setContextClassLoader(r.getClassLoader());
+ }
+
+ try
+ {
+ return doUnmarshall(fqn, toUnmarshall);
+ }
+ finally
+ {
+ if (needToResetLoader) current.setContextClassLoader(originalClassLoader);
+ }
+ }
+
+ protected void doMarshall(Fqn fqn, Object toMarshall) throws Exception
+ {
+ throw new RuntimeException("Should be overridden");
+ }
+
+ protected Object doUnmarshall(Fqn fqn, Object toUnmarshall) throws Exception
+ {
+ throw new RuntimeException("Should be overridden");
+ }
+
+
/**
* Do a preorder traversal: visit the node first, then the node's children
*
Modified: core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java 2008-02-07 14:14:03 UTC (rev 5322)
+++ core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java 2008-02-07 15:03:42 UTC (rev 5323)
@@ -422,7 +422,8 @@
Map m = null;
try
{
- m = (Map) unmarshall(child);
+ //m = (Map) unmarshall(child);
+ m = (Map) regionAwareUnmarshall(fqn, child);
}
catch (FileNotFoundException fnfe)
{
@@ -434,6 +435,13 @@
protected void storeAttributes(Fqn fqn, Map attrs) throws Exception
{
+ regionAwareMarshall(fqn, attrs);
+ }
+
+ @Override
+ protected void doMarshall(Fqn fqn, Object toMarshall) throws Exception
+ {
+ Map attrs = (Map) toMarshall;
File f = getDirectory(fqn, true);
File child = new File(f, DATA);
if (!child.exists())
@@ -451,10 +459,23 @@
throw new IOException("Unable to create file: " + child);
}
}
+ FileOutputStream fileOut = new FileOutputStream(child);
+ ObjectOutputStream output = new ObjectOutputStream(fileOut);
+ getMarshaller().objectToObjectStream(attrs, output);
+ output.close();
+ }
- marshall(attrs, child);
+ @Override
+ protected Object doUnmarshall(Fqn fqn, Object fromFile) throws Exception
+ {
+ FileInputStream fileIn = new FileInputStream((File) fromFile);
+ ObjectInputStream input = new MarshalledValueInputStream(fileIn);
+ Object unmarshalledObj = getMarshaller().objectFromObjectStream(input);
+ input.close();
+ return unmarshalledObj;
}
+
protected boolean isCharacterPortableLocation(String fileAbsolutePath)
{
Matcher matcher = PATH_PATTERN.matcher(fileAbsolutePath);
@@ -498,21 +519,4 @@
return true;
}
-
- protected Object unmarshall(File from) throws Exception
- {
- FileInputStream fileIn = new FileInputStream(from);
- ObjectInputStream input = new MarshalledValueInputStream(fileIn);
- Object unmarshalledObj = getMarshaller().objectFromObjectStream(input);
- input.close();
- return unmarshalledObj;
- }
-
- protected void marshall(Object obj, File to) throws Exception
- {
- FileOutputStream fileOut = new FileOutputStream(to);
- ObjectOutputStream output = new ObjectOutputStream(fileOut);
- getMarshaller().objectToObjectStream(obj, output);
- output.close();
- }
}
Modified: core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderConfig.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderConfig.java 2008-02-07 14:14:03 UTC (rev 5322)
+++ core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderConfig.java 2008-02-07 15:03:42 UTC (rev 5323)
@@ -15,60 +15,65 @@
public class JDBCCacheLoaderConfig extends AdjListJDBCCacheLoaderConfig
{
- private static final long serialVersionUID = -8371846151643130271L;
+ private static final long serialVersionUID = -8371846151643130271L;
- private static final Log log = LogFactory.getLog(JDBCCacheLoaderConfig.class);
+ private static final Log log = LogFactory.getLog(JDBCCacheLoaderConfig.class);
- private String deleteNode;
- private String recursiveChildren;
- private String nodeCountSql;
+ private String deleteNode;
+ private String recursiveChildren;
+ private String nodeCountSql;
- public JDBCCacheLoaderConfig(IndividualCacheLoaderConfig base)
- {
+ public JDBCCacheLoaderConfig(IndividualCacheLoaderConfig base)
+ {
super(base);
setClassName(JDBCCacheLoader.class.getName());
- }
+ }
+ public JDBCCacheLoaderConfig()
+ {
+ setClassName(JDBCCacheLoader.class.getName());
+ }
- public void setProperties(Properties props)
- {
- super.setProperties(props);
- String sqlConcat = props.getProperty("cache.jdbc.sql-concat");
- if (sqlConcat == null) {
- log.info("Missiing JDBCCacheLoader config 'cache.jdbc.sql-concat', using default value:'concat(1,2)'");
- sqlConcat = "concat(1,2)";
- }
- String startingWith = sqlConcat.replace('1', '?').replace("2", "'%'"); //concat(?, '%')
- String appendSepparator = sqlConcat.replace("1", fqnColumn).replace("2", "'/'"); //concat(fqnColumn, '/')
- deleteNode = "delete from " + table + " where " + appendSepparator + " like " + startingWith;
- recursiveChildren = "select " + fqnColumn + "," + nodeColumn + " from " + table + " where " + appendSepparator + " like " + startingWith;
- nodeCountSql = "select count(*) from " + table;
- }
+ public void setProperties(Properties props)
+ {
+ super.setProperties(props);
+ String sqlConcat = props.getProperty("cache.jdbc.sql-concat");
+ if (sqlConcat == null)
+ {
+ log.info("Missiing JDBCCacheLoader config 'cache.jdbc.sql-concat', using default value:'concat(1,2)'");
+ sqlConcat = "concat(1,2)";
+ }
+ String startingWith = sqlConcat.replace('1', '?').replace("2", "'%'"); //concat(?, '%')
+ String appendSepparator = sqlConcat.replace("1", fqnColumn).replace("2", "'/'"); //concat(fqnColumn, '/')
+ deleteNode = "delete from " + table + " where " + appendSepparator + " like " + startingWith;
+ recursiveChildren = "select " + fqnColumn + "," + nodeColumn + " from " + table + " where " + appendSepparator + " like " + startingWith;
+ nodeCountSql = "select count(*) from " + table;
+ }
- /**
- * Returns the sql string for removing a node and all its children.
- */
- public String getDeleteNodeSql()
- {
- return deleteNode;
- }
+ /**
+ * Returns the sql string for removing a node and all its children.
+ */
+ public String getDeleteNodeSql()
+ {
+ return deleteNode;
+ }
- /**
- * Returns an sql that will return a node and all its children.
- */
- public String getRecursiveChildrenSql()
- {
- return recursiveChildren;
- }
+ /**
+ * Returns an sql that will return a node and all its children.
+ */
+ public String getRecursiveChildrenSql()
+ {
+ return recursiveChildren;
+ }
- /**
- * Returns an sql that will count all the persisted node.
- */
- public String getNodeCountSql()
- {
- return nodeCountSql;
- }
+ /**
+ * Returns an sql that will count all the persisted node.
+ */
+ public String getNodeCountSql()
+ {
+ return nodeCountSql;
+ }
}
Modified: core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java 2008-02-07 14:14:03 UTC (rev 5322)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java 2008-02-07 15:03:42 UTC (rev 5323)
@@ -529,12 +529,13 @@
ClassLoader old = currentThread.getContextClassLoader();
try
{
- currentThread.setContextClassLoader(loader);
+ // only do this if we haven't already set a context class loader elsewhere.
+ if (old == null) currentThread.setContextClassLoader(loader);
return unmarshallObject(in, refMap);
}
finally
{
- currentThread.setContextClassLoader(old);
+ if (old == null) currentThread.setContextClassLoader(null);
}
}
}
Copied: core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java (from rev 5322, core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java)
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java 2008-02-07 15:03:42 UTC (rev 5323)
@@ -0,0 +1,153 @@
+package org.jboss.cache.marshall;
+
+import org.jboss.cache.Cache;
+import org.jboss.cache.DefaultCacheFactory;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.Region;
+import org.jboss.cache.config.CacheLoaderConfig;
+import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.cache.config.Configuration;
+import org.jboss.cache.config.EvictionConfig;
+import org.jboss.cache.config.EvictionRegionConfig;
+import org.jboss.cache.eviction.LRUConfiguration;
+import org.jboss.cache.eviction.LRUPolicy;
+import org.jboss.cache.loader.JDBCCacheLoaderConfig;
+import org.jboss.cache.misc.TestingUtil;
+import static org.testng.AssertJUnit.assertEquals;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * Tests marshalling/unmarshalling during cache loader operations involving types
+ * not visible to the cache's default classloader.
+ *
+ * @author <a href="mailto:brian.stansberry@jboss.org">Brian Stansberry</a>
+ * @since 2.1.0
+ */
+@Test(groups = "functional")
+public class CacheLoaderMarshallingJDBCTest extends RegionBasedMarshallingTestBase
+{
+ private static final String className = "org.jboss.cache.marshall.MyUUID";
+
+ private Cache<Object, Object> cache;
+ private Fqn fqn = Fqn.fromString("/a");
+
+ @BeforeMethod(alwaysRun = true)
+ protected void setUp() throws Exception
+ {
+ originalClassLoader = Thread.currentThread().getContextClassLoader();
+ }
+
+ @AfterMethod(alwaysRun = true)
+ protected void tearDown()
+ {
+ resetContextClassLoader();
+ TestingUtil.killCaches(cache);
+ }
+
+ @Override
+ protected ClassLoader getClassLoader()
+ {
+ String[] includesClasses = {className};
+ String[] excludesClasses = {};
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ return new SelectedClassnameClassLoader(includesClasses, excludesClasses, cl);
+ }
+
+ public void testCacheLoaderMarshalling() throws Exception
+ {
+ cacheLoaderMarshallingTest(false);
+ }
+
+ public void testCacheLoaderRegionBasedMarshalling() throws Exception
+ {
+ cacheLoaderMarshallingTest(true);
+ }
+
+ private void cacheLoaderMarshallingTest(boolean useRegionBased) throws Exception
+ {
+ cache = createCache(useRegionBased);
+ cache.start();
+
+ FooClassLoader loader = new FooClassLoader(originalClassLoader);
+
+ if (useRegionBased)
+ {
+ Region r = cache.getRegion(Fqn.ROOT, true);
+ r.registerContextClassLoader(loader);
+ r.activate();
+ }
+
+ Class clazz = loader.loadFoo();
+ Object obj = clazz.newInstance();
+
+ Thread.currentThread().setContextClassLoader(loader);
+ cache.put(fqn, "key", obj);
+
+ this.resetContextClassLoader();
+ cache.evict(fqn);
+
+ Thread.currentThread().setContextClassLoader(loader);
+ assertEquals(obj, cache.get(fqn, "key"));
+ }
+
+ private Cache createCache(boolean useRegionBased) throws Exception
+ {
+ Properties prop = getProperties();
+
+ // ensure cleanup after each test
+ prop.setProperty("cache.jdbc.table.drop", "true");
+
+ Cache cache = new DefaultCacheFactory<Object, Object>().createCache(false);
+ Configuration config = cache.getConfiguration();
+ config.setUseRegionBasedMarshalling(useRegionBased);
+ config.setInactiveOnStartup(useRegionBased);
+
+ EvictionConfig ec = new EvictionConfig();
+ ec.setDefaultEvictionPolicyClass(LRUPolicy.class.getName());
+ ec.setWakeupIntervalSeconds(1000); // a long time; really disabled
+ EvictionRegionConfig erc = new EvictionRegionConfig();
+ erc.setRegionFqn(Fqn.ROOT);
+ erc.setRegionName("_default_");
+ LRUConfiguration epc = new LRUConfiguration();
+ epc.setMaxNodes(1000);
+ epc.setTimeToLiveSeconds(1000);
+ erc.setEvictionPolicyConfig(epc);
+ List<EvictionRegionConfig> ercs = new ArrayList<EvictionRegionConfig>();
+ ercs.add(erc);
+ ec.setEvictionRegionConfigs(ercs);
+ config.setEvictionConfig(ec);
+
+ CacheLoaderConfig clc = new CacheLoaderConfig();
+ clc.setPassivation(true);
+ clc.setShared(false);
+ JDBCCacheLoaderConfig jdbc_clc = new JDBCCacheLoaderConfig();
+ jdbc_clc.setProperties(prop);
+
+ clc.setIndividualCacheLoaderConfigs(Collections.<IndividualCacheLoaderConfig>singletonList(jdbc_clc));
+ config.setCacheLoaderConfig(clc);
+
+ return cache;
+ }
+
+ private Properties getProperties() throws Exception
+ {
+ Properties properties = new Properties();
+ try
+ {
+ properties.load(this.getClass().getClassLoader().getResourceAsStream("cache-jdbc.properties"));
+ return properties;
+ }
+ catch (Exception e)
+ {
+ throw new Exception("Error loading jdbc properties ", e);
+ }
+ }
+
+}
\ No newline at end of file
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-02-07 14:14:03 UTC (rev 5322)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-02-07 15:03:42 UTC (rev 5323)
@@ -1,50 +1,49 @@
package org.jboss.cache.marshall;
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
import org.jboss.cache.Cache;
-import org.jboss.cache.CacheSPI;
import org.jboss.cache.DefaultCacheFactory;
import org.jboss.cache.Fqn;
import org.jboss.cache.Region;
import org.jboss.cache.config.CacheLoaderConfig;
+import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
import org.jboss.cache.config.Configuration;
import org.jboss.cache.config.EvictionConfig;
import org.jboss.cache.config.EvictionRegionConfig;
-import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
import org.jboss.cache.eviction.LRUConfiguration;
import org.jboss.cache.eviction.LRUPolicy;
import org.jboss.cache.loader.FileCacheLoaderConfig;
import org.jboss.cache.misc.TestingUtil;
+import static org.testng.AssertJUnit.assertEquals;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
/**
- * Tests marshalling/unmarshalling during cache loader operations involving types
+ * Tests marshalling/unmarshalling during cache loader operations involving types
* not visible to the cache's default classloader.
*
* @author <a href="mailto:brian.stansberry@jboss.org">Brian Stansberry</a>
* @since 2.1.0
*/
-@Test(groups = {"functional", "jgroups"})
+@Test(groups = "functional")
public class CacheLoaderMarshallingTest extends RegionBasedMarshallingTestBase
{
private static final String tmpDir = System.getProperty("java.io.tmpdir") + File.separatorChar + "CacheLoaderMarshallingTest";
-
+
private static final String className = "org.jboss.cache.marshall.MyUUID";
-
+
private Cache<Object, Object> cache;
private Fqn fqn = Fqn.fromString("/a");
@BeforeMethod(alwaysRun = true)
protected void setUp() throws Exception
{
- originalClassLoader = Thread.currentThread().getContextClassLoader();
+ originalClassLoader = Thread.currentThread().getContextClassLoader();
}
@AfterMethod(alwaysRun = true)
@@ -52,7 +51,7 @@
{
resetContextClassLoader();
TestingUtil.killCaches(cache);
-
+
File f = new File(tmpDir);
if (f.exists())
if (!f.delete())
@@ -67,51 +66,51 @@
ClassLoader cl = Thread.currentThread().getContextClassLoader();
return new SelectedClassnameClassLoader(includesClasses, excludesClasses, cl);
}
-
+
public void testCacheLoaderMarshalling() throws Exception
{
cacheLoaderMarshallingTest(false);
}
-
+
public void testCacheLoaderRegionBasedMarshalling() throws Exception
{
cacheLoaderMarshallingTest(true);
}
-
+
private void cacheLoaderMarshallingTest(boolean useRegionBased) throws Exception
{
cache = createCache(useRegionBased);
cache.start();
-
+
FooClassLoader loader = new FooClassLoader(originalClassLoader);
-
+
if (useRegionBased)
{
Region r = cache.getRegion(Fqn.ROOT, true);
r.registerContextClassLoader(loader);
r.activate();
}
-
+
Class clazz = loader.loadFoo();
Object obj = clazz.newInstance();
-
+
Thread.currentThread().setContextClassLoader(loader);
cache.put(fqn, "key", obj);
-
+
this.resetContextClassLoader();
cache.evict(fqn);
-
+
Thread.currentThread().setContextClassLoader(loader);
assertEquals(obj, cache.get(fqn, "key"));
}
-
+
private Cache createCache(boolean useRegionBased)
{
- Cache cache = (CacheSPI<Object, Object>) new DefaultCacheFactory().createCache(false);
+ Cache cache = new DefaultCacheFactory<Object, Object>().createCache(false);
Configuration config = cache.getConfiguration();
config.setUseRegionBasedMarshalling(useRegionBased);
config.setInactiveOnStartup(useRegionBased);
-
+
EvictionConfig ec = new EvictionConfig();
ec.setDefaultEvictionPolicyClass(LRUPolicy.class.getName());
ec.setWakeupIntervalSeconds(1000); // a long time; really disabled
@@ -126,17 +125,16 @@
ercs.add(erc);
ec.setEvictionRegionConfigs(ercs);
config.setEvictionConfig(ec);
-
+
CacheLoaderConfig clc = new CacheLoaderConfig();
clc.setPassivation(true);
clc.setShared(false);
FileCacheLoaderConfig fclc = new FileCacheLoaderConfig();
fclc.setLocation(tmpDir);
- List<IndividualCacheLoaderConfig> clcs = new ArrayList<IndividualCacheLoaderConfig>();
- clcs.add(fclc);
- clc.setIndividualCacheLoaderConfigs(clcs);
+
+ clc.setIndividualCacheLoaderConfigs(Collections.<IndividualCacheLoaderConfig>singletonList(fclc));
config.setCacheLoaderConfig(clc);
-
+
return cache;
}
16 years, 2 months
JBoss Cache SVN: r5322 - in core/trunk/src: main/java/org/jboss/cache/factories and 2 other directories.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-02-07 09:14:03 -0500 (Thu, 07 Feb 2008)
New Revision: 5322
Modified:
core/trunk/src/main/java/org/jboss/cache/RegionManager.java
core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java
core/trunk/src/main/java/org/jboss/cache/marshall/io/ObjectStreamPool.java
core/trunk/src/test/java/org/jboss/cache/marshall/AbstractVersionAwareMarshallerTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java
core/trunk/src/test/java/org/jboss/cache/marshall/VersionAwareMarshallerTest.java
Log:
Fixed broken tests
Modified: core/trunk/src/main/java/org/jboss/cache/RegionManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManager.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManager.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -330,7 +330,7 @@
{
//r.activate();
r.setStatus(Region.Status.ACTIVATING);
- if (cache.getConfiguration().isFetchInMemoryState())
+ if (configuration.isFetchInMemoryState())
{
activateRegion(r.getFqn(), suppressRegionNotEmptyException);
}
@@ -343,7 +343,7 @@
r = getRegion(fqn, true);
// FIXME - persistent state transfer counts too!
r.setStatus(Region.Status.ACTIVATING);
- if (cache.getConfiguration().isFetchInMemoryState())
+ if (configuration.isFetchInMemoryState())
{
activateRegion(r.getFqn(), suppressRegionNotEmptyException);
}
Modified: core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -89,6 +89,11 @@
registerComponent(configuration, Configuration.class);
}
+ public State getOverallState()
+ {
+ return overallState;
+ }
+
/**
* This is hard coded for now, since scanning the classpath for factories annotated with {@link org.jboss.cache.factories.annotations.DefaultFactoryFor}
* does not work with all class loaders. This is a temporary solution until a more elegant one can be designed.
@@ -637,7 +642,7 @@
/**
* Represents the state of a component
*/
- enum State
+ public enum State
{
DESTROYED, STOPPED, CONSTRUCTED, WIRED, STARTED;
Modified: core/trunk/src/main/java/org/jboss/cache/marshall/io/ObjectStreamPool.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/io/ObjectStreamPool.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/io/ObjectStreamPool.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -31,13 +31,13 @@
}
@Inject
- public void injectDependencies(Configuration configuration)
+ void injectDependencies(Configuration configuration)
{
this.configuration = configuration;
}
@Start
- public void start() throws InterruptedException, IOException
+ void start() throws InterruptedException, IOException
{
if (configuration != null)
{
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/AbstractVersionAwareMarshallerTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/AbstractVersionAwareMarshallerTest.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/AbstractVersionAwareMarshallerTest.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -10,23 +10,21 @@
*/
public abstract class AbstractVersionAwareMarshallerTest
{
- protected VersionAwareMarshaller createVAM(String replVersion)
+ protected ComponentRegistry cr;
+
+ protected VersionAwareMarshaller createVAMandRestartCache(String replVersion)
{
- Configuration c = new Configuration();
+ Configuration c = cr.getComponent(Configuration.class);
c.setReplVersionString(replVersion);
- return createVAM(c, new RegionManager());
+ return createVAMandRestartCache(new RegionManager());
}
- protected VersionAwareMarshaller createVAM(Configuration c, RegionManager rm)
+ protected VersionAwareMarshaller createVAMandRestartCache(RegionManager rm)
{
- ComponentRegistry cr = new ComponentRegistry(c);
cr.registerComponent(rm, RegionManager.class);
- c.setReplVersionString(c.getReplVersionString());
- VersionAwareMarshaller vam = new VersionAwareMarshaller();
-
- cr.wireDependencies(vam);
- vam.init();
- vam.initReplicationVersions();
+ VersionAwareMarshaller vam = (VersionAwareMarshaller) cr.getComponent(Marshaller.class);
+ if (cr.getOverallState() == ComponentRegistry.State.STARTED) cr.stop();
+ cr.start();
return vam;
}
}
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/ActiveInactiveTest.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -31,7 +31,8 @@
public class ActiveInactiveTest extends AbstractVersionAwareMarshallerTest
{
RegionManager rman;
- CacheSPI c;
+ CacheSPI cache;
+ Configuration c;
Fqn<String> A = Fqn.fromString("/a");
Fqn<String> I = Fqn.fromString("/i");
Fqn<String> A_B = new Fqn<String>(A, "b");
@@ -39,20 +40,22 @@
@BeforeMethod(alwaysRun = true)
public void setUp() throws Exception
{
- c = (CacheSPI) new DefaultCacheFactory().createCache(false);
- c.getConfiguration().setUseRegionBasedMarshalling(true);
- c.getConfiguration().setFetchInMemoryState(false);
- c.start();
- rman = TestingUtil.extractComponentRegistry(c).getComponent(RegionManager.class);
+ cache = (CacheSPI) new DefaultCacheFactory().createCache(false);
+ c = cache.getConfiguration();
+ c.setUseRegionBasedMarshalling(true);
+ c.setFetchInMemoryState(false);
+ cache.start();
+ cr = TestingUtil.extractComponentRegistry(cache);
+ rman = TestingUtil.extractComponentRegistry(cache).getComponent(RegionManager.class);
}
@AfterMethod(alwaysRun = true)
public void tearDown() throws Exception
{
- if (c != null)
+ if (cache != null)
{
- c.stop();
- c = null;
+ cache.stop();
+ cache = null;
rman = null;
}
}
@@ -163,10 +166,10 @@
Region region_A = rman.getRegion(A, true);
region_A.registerContextClassLoader(this.getClass().getClassLoader());
assertFalse("New regions created should be inactive by default", region_A.isActive());
- Configuration c = new Configuration();
+ cache.stop();
c.setUseRegionBasedMarshalling(true);
c.setInactiveOnStartup(true);
- VersionAwareMarshaller testee = createVAM(c, rman);
+ VersionAwareMarshaller testee = createVAMandRestartCache(rman);
byte[] callBytes = testee.objectToByteBuffer(replicate);
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -10,7 +10,6 @@
import org.jboss.cache.RegionManager;
import org.jboss.cache.config.Configuration;
import org.jboss.cache.factories.ComponentRegistry;
-import org.jboss.cache.marshall.io.ObjectStreamPool;
import static org.testng.AssertJUnit.*;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
@@ -37,12 +36,9 @@
c.setUseRegionBasedMarshalling(false);
c.setInactiveOnStartup(false);
c.setReplVersionString(currentVersion);
+ cr = new ComponentRegistry(c);
//c.setUseReferenceCounting(true);
- marshaller = createVAM(c, regionManager);
- ObjectStreamPool pool = new ObjectStreamPool();
- ComponentRegistry reg = new ComponentRegistry(c);
- marshaller.injectComponents(reg, pool);
- pool.start();
+ marshaller = createVAMandRestartCache(regionManager);
}
@AfterMethod(alwaysRun = true)
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/VersionAwareMarshallerTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/VersionAwareMarshallerTest.java 2008-02-07 13:36:10 UTC (rev 5321)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/VersionAwareMarshallerTest.java 2008-02-07 14:14:03 UTC (rev 5322)
@@ -7,8 +7,13 @@
package org.jboss.cache.marshall;
import org.jboss.cache.Version;
+import org.jboss.cache.config.Configuration;
+import org.jboss.cache.factories.ComponentRegistry;
import org.jboss.cache.marshall.io.ObjectStreamPool;
+import org.jboss.cache.misc.TestingUtil;
import static org.testng.AssertJUnit.assertEquals;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.io.ObjectInputStream;
@@ -21,60 +26,64 @@
@Test(groups = {"functional"})
public class VersionAwareMarshallerTest extends AbstractVersionAwareMarshallerTest
{
+ @BeforeMethod
+ public void setUp()
+ {
+ cr = new ComponentRegistry(new Configuration());
+ }
+
+ @AfterMethod
+ public void tearDown()
+ {
+ cr = null;
+ }
+
public void testMarshallerSelection()
{
- VersionAwareMarshaller marshaller = createVAM("2.1.0.GA");
+ VersionAwareMarshaller marshaller = createVAMandRestartCache("2.1.0.GA");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("2.0.0.GA");
+ marshaller = createVAMandRestartCache("2.0.0.GA");
assertEquals(CacheMarshaller200.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.4.0.GA");
+ marshaller = createVAMandRestartCache("1.4.0.GA");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.5.0.GA");
+ marshaller = createVAMandRestartCache("1.5.0.GA");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.3.0.GA");
+ marshaller = createVAMandRestartCache("1.3.0.GA");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.3.0.SP2");
+ marshaller = createVAMandRestartCache("1.3.0.SP2");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.3.1.GA");
+ marshaller = createVAMandRestartCache("1.3.1.GA");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.2.4.SP2");
+ marshaller = createVAMandRestartCache("1.2.4.SP2");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
- marshaller = createVAM("1.2.3");
+ marshaller = createVAMandRestartCache("1.2.3");
assertEquals(CacheMarshaller210.class, marshaller.defaultMarshaller.getClass());
}
public void testVersionHeaderDefaultCurrent() throws Exception
{
- ObjectStreamPool pool = new ObjectStreamPool();
- pool.start();
+ VersionAwareMarshaller marshaller = createVAMandRestartCache(Version.getVersionString(Version.getVersionShort()));
- VersionAwareMarshaller marshaller = createVAM(Version.getVersionString(Version.getVersionShort()));
- marshaller.injectComponents(null, pool);
-
byte[] bytes = marshaller.objectToByteBuffer("Hello");
-
+ ObjectStreamPool pool = (ObjectStreamPool) TestingUtil.extractField(marshaller, "pool");
ObjectInputStream in = pool.getInputStream(bytes);
assertEquals("Version header short should be '21'", 21, in.readShort());
}
public void testVersionHeader200() throws Exception
{
- ObjectStreamPool pool = new ObjectStreamPool();
- pool.start();
+ VersionAwareMarshaller marshaller = createVAMandRestartCache("2.0.0.GA");
- VersionAwareMarshaller marshaller = createVAM("2.0.0.GA");
- marshaller.injectComponents(null, pool);
-
byte[] bytes = marshaller.objectToByteBuffer("Hello");
-
+ ObjectStreamPool pool = (ObjectStreamPool) TestingUtil.extractField(marshaller, "pool");
ObjectInputStream in = pool.getInputStream(bytes);
assertEquals("Version header short should be '20'", 20, in.readShort());
}
16 years, 2 months
JBoss Cache SVN: r5321 - core/trunk/src/test/java/org/jboss/cache/marshall.
by jbosscache-commits@lists.jboss.org
Author: bstansberry(a)jboss.com
Date: 2008-02-07 08:36:10 -0500 (Thu, 07 Feb 2008)
New Revision: 5321
Added:
core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
Log:
[JBAS-1287] Test marshalling of cache loader ops
Added: core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-02-07 13:36:10 UTC (rev 5321)
@@ -0,0 +1,143 @@
+package org.jboss.cache.marshall;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.cache.Cache;
+import org.jboss.cache.CacheSPI;
+import org.jboss.cache.DefaultCacheFactory;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.Region;
+import org.jboss.cache.config.CacheLoaderConfig;
+import org.jboss.cache.config.Configuration;
+import org.jboss.cache.config.EvictionConfig;
+import org.jboss.cache.config.EvictionRegionConfig;
+import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.cache.eviction.LRUConfiguration;
+import org.jboss.cache.eviction.LRUPolicy;
+import org.jboss.cache.loader.FileCacheLoaderConfig;
+import org.jboss.cache.misc.TestingUtil;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+/**
+ * Tests marshalling/unmarshalling during cache loader operations involving types
+ * not visible to the cache's default classloader.
+ *
+ * @author <a href="mailto:brian.stansberry@jboss.org">Brian Stansberry</a>
+ * @since 2.1.0
+ */
+@Test(groups = {"functional", "jgroups"})
+public class CacheLoaderMarshallingTest extends RegionBasedMarshallingTestBase
+{
+ private static final String tmpDir = System.getProperty("java.io.tmpdir") + File.separatorChar + "CacheLoaderMarshallingTest";
+
+ private static final String className = "org.jboss.cache.marshall.MyUUID";
+
+ private Cache<Object, Object> cache;
+ private Fqn fqn = Fqn.fromString("/a");
+
+ @BeforeMethod(alwaysRun = true)
+ protected void setUp() throws Exception
+ {
+ originalClassLoader = Thread.currentThread().getContextClassLoader();
+ }
+
+ @AfterMethod(alwaysRun = true)
+ protected void tearDown()
+ {
+ resetContextClassLoader();
+ TestingUtil.killCaches(cache);
+
+ File f = new File(tmpDir);
+ if (f.exists())
+ if (!f.delete())
+ f.deleteOnExit();
+ }
+
+ @Override
+ protected ClassLoader getClassLoader()
+ {
+ String[] includesClasses = {className};
+ String[] excludesClasses = {};
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ return new SelectedClassnameClassLoader(includesClasses, excludesClasses, cl);
+ }
+
+ public void testCacheLoaderMarshalling() throws Exception
+ {
+ cacheLoaderMarshallingTest(false);
+ }
+
+ public void testCacheLoaderRegionBasedMarshalling() throws Exception
+ {
+ cacheLoaderMarshallingTest(true);
+ }
+
+ private void cacheLoaderMarshallingTest(boolean useRegionBased) throws Exception
+ {
+ cache = createCache(useRegionBased);
+ cache.start();
+
+ FooClassLoader loader = new FooClassLoader(originalClassLoader);
+
+ if (useRegionBased)
+ {
+ Region r = cache.getRegion(Fqn.ROOT, true);
+ r.registerContextClassLoader(loader);
+ r.activate();
+ }
+
+ Class clazz = loader.loadFoo();
+ Object obj = clazz.newInstance();
+
+ Thread.currentThread().setContextClassLoader(loader);
+ cache.put(fqn, "key", obj);
+
+ this.resetContextClassLoader();
+ cache.evict(fqn);
+
+ Thread.currentThread().setContextClassLoader(loader);
+ assertEquals(obj, cache.get(fqn, "key"));
+ }
+
+ private Cache createCache(boolean useRegionBased)
+ {
+ Cache cache = (CacheSPI<Object, Object>) new DefaultCacheFactory().createCache(false);
+ Configuration config = cache.getConfiguration();
+ config.setUseRegionBasedMarshalling(useRegionBased);
+ config.setInactiveOnStartup(useRegionBased);
+
+ EvictionConfig ec = new EvictionConfig();
+ ec.setDefaultEvictionPolicyClass(LRUPolicy.class.getName());
+ ec.setWakeupIntervalSeconds(1000); // a long time; really disabled
+ EvictionRegionConfig erc = new EvictionRegionConfig();
+ erc.setRegionFqn(Fqn.ROOT);
+ erc.setRegionName("_default_");
+ LRUConfiguration epc = new LRUConfiguration();
+ epc.setMaxNodes(1000);
+ epc.setTimeToLiveSeconds(1000);
+ erc.setEvictionPolicyConfig(epc);
+ List<EvictionRegionConfig> ercs = new ArrayList<EvictionRegionConfig>();
+ ercs.add(erc);
+ ec.setEvictionRegionConfigs(ercs);
+ config.setEvictionConfig(ec);
+
+ CacheLoaderConfig clc = new CacheLoaderConfig();
+ clc.setPassivation(true);
+ clc.setShared(false);
+ FileCacheLoaderConfig fclc = new FileCacheLoaderConfig();
+ fclc.setLocation(tmpDir);
+ List<IndividualCacheLoaderConfig> clcs = new ArrayList<IndividualCacheLoaderConfig>();
+ clcs.add(fclc);
+ clc.setIndividualCacheLoaderConfigs(clcs);
+ config.setCacheLoaderConfig(clc);
+
+ return cache;
+ }
+
+}
16 years, 2 months
JBoss Cache SVN: r5320 - core/trunk/src/test/java/org/jboss/cache/marshall.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-02-07 08:16:49 -0500 (Thu, 07 Feb 2008)
New Revision: 5320
Modified:
core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java
Log:
Fixed broken tests
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java 2008-02-07 02:13:58 UTC (rev 5319)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java 2008-02-07 13:16:49 UTC (rev 5320)
@@ -260,6 +260,8 @@
clc.addIndividualCacheLoaderConfig(iclc);
cache1.getConfiguration().setCacheLoaderConfig(clc);
cache2.getConfiguration().setCacheLoaderConfig(clc.clone());
+ cache1.getConfiguration().setUseLazyDeserialization(true);
+ cache2.getConfiguration().setUseLazyDeserialization(true);
cache1.start();
cache2.start();
16 years, 2 months
JBoss Cache SVN: r5319 - in amazon-s3/trunk: src/main/java/com/amazon/s3 and 1 other directories.
by jbosscache-commits@lists.jboss.org
Author: genman
Date: 2008-02-06 21:13:58 -0500 (Wed, 06 Feb 2008)
New Revision: 5319
Modified:
amazon-s3/trunk/
amazon-s3/trunk/src/main/java/com/amazon/s3/Connection.java
amazon-s3/trunk/src/main/java/com/amazon/s3/GetResponse.java
amazon-s3/trunk/src/main/java/com/amazon/s3/Headers.java
amazon-s3/trunk/src/main/java/com/amazon/s3/ListAllBucketsResponse.java
amazon-s3/trunk/src/main/java/com/amazon/s3/ListResponse.java
amazon-s3/trunk/src/main/java/com/amazon/s3/LocationResponse.java
amazon-s3/trunk/src/main/java/com/amazon/s3/Response.java
amazon-s3/trunk/src/main/java/com/amazon/s3/S3Object.java
amazon-s3/trunk/src/test/java/com/amazon/s3/S3Test.java
Log:
Clean up implementation some more
... since HttpURLConnection is slow, may switch to Apache HTTP client someday
Property changes on: amazon-s3/trunk
___________________________________________________________________
Name: svn:ignore
+ target
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/Connection.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/Connection.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/Connection.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -132,16 +132,24 @@
/**
* Creates a new bucket.
- * @throws IOException
*/
public Response create(Bucket bucket, String location) throws IOException {
return create(bucket, location, null);
}
+ /**
+ * Creates a new bucket.
+ * @throws IOException
+ */
+ public Response create(Bucket bucket) throws IOException {
+ return create(bucket, null);
+ }
+
/**
* Check if the specified bucket exists (via a HEAD request)
* @param bucket The name of the bucket to check
* @return true if HEAD access returned success
+ * @see #head(Bucket, String)
*/
public boolean exists(Bucket bucket) throws IOException
{
@@ -194,6 +202,13 @@
/**
* Lists the contents of a bucket.
+ */
+ public ListResponse list(Bucket bucket, String prefix) throws IOException {
+ return list(bucket, prefix, null, null);
+ }
+
+ /**
+ * Lists the contents of a bucket.
* @param bucket The name of the bucket to list.
* @param prefix All returned keys will start with this string (can be null).
* @param marker All returned keys will be lexographically greater than
@@ -281,6 +296,21 @@
{
return get(bucket, key, null);
}
+
+ /**
+ * Returns information about an S3 object without loading it.
+ * Check {@link Response#isOk()} or {@link Response#isNotFound()} to see if the object exists.
+ */
+ public Response head(Bucket bucket, String key) throws IOException {
+ return head(bucket, key, null);
+ }
+
+ /**
+ * Returns information about an S3 object without loading it.
+ */
+ public Response head(Bucket bucket, String key, Headers headers) throws IOException {
+ return new Response(makeRequest(Method.HEAD, bucket, key, null, headers));
+ }
/**
* Deletes an object from S3.
@@ -581,5 +611,5 @@
" isSecure=" + isSecure + " server=" + server +
" port=" + port + " format=" + callingFormat;
}
-
+
}
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/GetResponse.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/GetResponse.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/GetResponse.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -26,13 +26,12 @@
* Pulls a representation of an S3Object out of the HttpURLConnection
* response.
*/
- public GetResponse(HttpURLConnection connection) throws IOException {
+ GetResponse(HttpURLConnection connection) throws IOException {
super(connection);
if (connection.getResponseCode() < 400) {
- Headers metadata = Headers.extractMetadata(connection);
int len = connection.getContentLength();
byte[] body = slurpInputStream(connection.getInputStream(), len);
- object = new S3Object(body, metadata);
+ object = new S3Object(body, getHeaders().extractMetadata());
}
}
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/Headers.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/Headers.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/Headers.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -1,6 +1,5 @@
package com.amazon.s3;
-import java.net.HttpURLConnection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -81,12 +80,10 @@
}
/**
- * Examines the response's header fields and returns a Map from String to
- * List of Strings representing the object's metadata.
- */
- public static Headers extractMetadata(HttpURLConnection connection) {
+ * Returns a new Headers object with metadata from this object.
+ */
+ public Headers extractMetadata() {
TreeMap<String, List<String>> metadata = new TreeMap<String, List<String>>();
- Map<String, List<String>> headers = connection.getHeaderFields();
for (Map.Entry<String, List<String>> me : headers.entrySet()) {
String key = me.getKey();
if (key == null)
@@ -97,7 +94,7 @@
}
return new Headers(metadata);
- }
+ }
/**
* Returns new headers with metadata.
@@ -117,5 +114,13 @@
}
return new Headers(merged);
}
+
+ /**
+ * Returns a debug string.
+ */
+ @Override
+ public String toString() {
+ return "headers=" + headers;
+ }
}
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/ListAllBucketsResponse.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/ListAllBucketsResponse.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/ListAllBucketsResponse.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -28,9 +28,9 @@
private List<Bucket> entries;
- public ListAllBucketsResponse(HttpURLConnection connection) throws IOException {
+ ListAllBucketsResponse(HttpURLConnection connection) throws IOException {
super(connection);
- if (success()) {
+ if (isOk()) {
entries = new ArrayList<Bucket>();
parse(new ListAllMyBucketsHandler());
}
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/ListResponse.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/ListResponse.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/ListResponse.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -43,9 +43,9 @@
private List<CommonPrefixEntry> commonPrefixEntries = null;
- public ListResponse(HttpURLConnection connection) throws IOException {
+ ListResponse(HttpURLConnection connection) throws IOException {
super(connection);
- if (success()) {
+ if (isOk()) {
parse(new ListBucketHandler());
}
}
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/LocationResponse.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/LocationResponse.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/LocationResponse.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -27,9 +27,9 @@
/**
* Parse the response to a ?location query.
*/
- public LocationResponse(HttpURLConnection connection) throws IOException {
+ LocationResponse(HttpURLConnection connection) throws IOException {
super(connection);
- if (success()) {
+ if (isOk()) {
parse(new LocationResponseHandler());
}
}
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/Response.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/Response.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/Response.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -30,7 +30,7 @@
private HttpURLConnection connection;
- public Response(HttpURLConnection connection) throws IOException {
+ Response(HttpURLConnection connection) throws IOException {
this.connection = connection;
}
@@ -49,6 +49,22 @@
}
/**
+ * Returns content length of the response.
+ */
+ public int getContentLength() {
+ return connection.getContentLength();
+ }
+
+ /**
+ * Throws an IllegalStateException if not 200 OK.
+ */
+ public void assertOk() {
+ if (isOk())
+ return;
+ throw new IllegalStateException("Unexpected response: " + this);
+ }
+
+ /**
* Returns an HTTP header field from the response.
*/
public String getHeaderField(String field) {
@@ -56,17 +72,37 @@
}
/**
- * Returns true if processing was success.
+ * Returns all HTTP headers.
+ * Prefer caching the return value.
*/
- public boolean success() {
+ public Headers getHeaders() {
+ return new Headers(connection.getHeaderFields());
+ }
+
+ /**
+ * Returns true if processing was 200-level OK.
+ */
+ public boolean isOk() {
try {
- return connection.getResponseCode() < 400;
+ int code = connection.getResponseCode();
+ return code == 200 || code == 204;
} catch (IOException e) {
return false;
}
}
/**
+ * Returns true if processing returned 404.
+ */
+ public boolean isNotFound() {
+ try {
+ return connection.getResponseCode() == 404;
+ } catch (IOException e) {
+ return false;
+ }
+ }
+
+ /**
* Returns a string representation.
*/
@Override
Modified: amazon-s3/trunk/src/main/java/com/amazon/s3/S3Object.java
===================================================================
--- amazon-s3/trunk/src/main/java/com/amazon/s3/S3Object.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/main/java/com/amazon/s3/S3Object.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -34,6 +34,13 @@
this.metadata = metadata;
}
+ /**
+ * Constructs a new S3Object.
+ */
+ public S3Object(byte[] data) {
+ this(data, null);
+ }
+
/**
* Returns data.
*/
@@ -54,9 +61,9 @@
@Override
public String toString()
{
- return "S3Object[ " +
- "data=" + this.data.length +
- "metadata=" + this.metadata + "]";
+ return "S3Object[" +
+ " data.length=" + this.data.length +
+ " metadata=" + this.metadata + "]";
}
}
Modified: amazon-s3/trunk/src/test/java/com/amazon/s3/S3Test.java
===================================================================
--- amazon-s3/trunk/src/test/java/com/amazon/s3/S3Test.java 2008-02-07 01:24:19 UTC (rev 5318)
+++ amazon-s3/trunk/src/test/java/com/amazon/s3/S3Test.java 2008-02-07 02:13:58 UTC (rev 5319)
@@ -84,19 +84,19 @@
final String innerKey = "test/inner.txt";
final String lastKey = "z-last-key.txt";
- response = conn.put(bucket, key, new S3Object(text.getBytes(), null), null);
+ response = conn.put(bucket, key, new S3Object(text.getBytes()));
assertEquals(
"couldn't put simple object",
HttpURLConnection.HTTP_OK,
response.getResponseCode());
- response = conn.put(bucket, innerKey, new S3Object(text.getBytes(), null), null);
+ response = conn.put(bucket, innerKey, new S3Object(text.getBytes()), null);
assertEquals(
"couldn't put simple object",
HttpURLConnection.HTTP_OK,
response.getResponseCode());
- response = conn.put(bucket, lastKey, new S3Object(text.getBytes(), null), null);
+ response = conn.put(bucket, lastKey, new S3Object(text.getBytes()), null);
assertEquals(
"couldn't put simple object",
HttpURLConnection.HTTP_OK,
@@ -230,7 +230,7 @@
getResponse.getObject().getMetadata().getValue("title"));
String weirdKey = "&=//%# ++++";
- response = conn.put(bucket, weirdKey, new S3Object(text.getBytes(), null), null);
+ response = conn.put(bucket, weirdKey, new S3Object(text.getBytes()));
assertEquals(
"couldn't put weird key",
HttpURLConnection.HTTP_OK,
16 years, 2 months
JBoss Cache SVN: r5318 - in core/trunk/src/test/java/org/jboss/cache: marshall and 1 other directories.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-02-06 20:24:19 -0500 (Wed, 06 Feb 2008)
New Revision: 5318
Modified:
core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java
core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java
core/trunk/src/test/java/org/jboss/cache/transaction/TransactionTest.java
Log:
Fixed broken tests
Modified: core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java 2008-02-06 16:23:32 UTC (rev 5317)
+++ core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java 2008-02-07 01:24:19 UTC (rev 5318)
@@ -5,9 +5,6 @@
import org.jboss.cache.DefaultCacheFactory;
import org.jboss.cache.Fqn;
import org.jboss.cache.NodeSPI;
-import org.jboss.cache.interceptors.PessimisticLockInterceptor;
-import org.jboss.cache.interceptors.UnlockInterceptor;
-import org.jboss.cache.misc.TestingUtil;
import org.jboss.cache.transaction.DummyTransactionManagerLookup;
import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertTrue;
@@ -16,7 +13,6 @@
import org.testng.annotations.Test;
import javax.transaction.TransactionManager;
-import java.util.Map;
/**
* basic locking test
@@ -24,7 +20,7 @@
* @author <a href="mailto:manik@jboss.org">Manik Surtani</a>
* @since 2.0.0
*/
-@Test(groups = {"functional"})
+@Test(groups = "functional")
public class PessimisticLockTest
{
private Cache<Object, Object> cache;
@@ -49,18 +45,6 @@
private void assertNoStaleLocks()
{
CacheSPI spi = (CacheSPI) cache;
- PessimisticLockInterceptor pli = TestingUtil.findInterceptor(spi, PessimisticLockInterceptor.class);
- UnlockInterceptor ui = TestingUtil.findInterceptor(spi, UnlockInterceptor.class);
-
- Map lockTablePLI = (Map) TestingUtil.extractField(pli, "lockTable");
- Map lockTableUI = (Map) TestingUtil.extractField(ui, "lockTable");
-
- // they should be the SAME!!
- assert lockTablePLI == lockTableUI : "PessimisticLockInterceptor and UnlockInterceptor should be referring to the same LockTable!!";
-
- assert lockTablePLI.size() == 0 : "Lock table on pessimistic lock interceptor should be empty";
- assert lockTableUI.size() == 0 : "Lock table on unlock interceptor should be empty";
-
assert spi.getNumberOfLocksHeld() == 0 : "Should have no stale locks!";
}
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java 2008-02-06 16:23:32 UTC (rev 5317)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshallerTestBase.java 2008-02-07 01:24:19 UTC (rev 5318)
@@ -9,6 +9,8 @@
import org.jboss.cache.Fqn;
import org.jboss.cache.RegionManager;
import org.jboss.cache.config.Configuration;
+import org.jboss.cache.factories.ComponentRegistry;
+import org.jboss.cache.marshall.io.ObjectStreamPool;
import static org.testng.AssertJUnit.*;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
@@ -37,6 +39,10 @@
c.setReplVersionString(currentVersion);
//c.setUseReferenceCounting(true);
marshaller = createVAM(c, regionManager);
+ ObjectStreamPool pool = new ObjectStreamPool();
+ ComponentRegistry reg = new ComponentRegistry(c);
+ marshaller.injectComponents(reg, pool);
+ pool.start();
}
@AfterMethod(alwaysRun = true)
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java 2008-02-06 16:23:32 UTC (rev 5317)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/MarshalledValueTest.java 2008-02-07 01:24:19 UTC (rev 5318)
@@ -46,10 +46,12 @@
@BeforeMethod
public void setUp()
{
- cache1 = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache(UnitTestCacheConfigurationFactory.createConfiguration(Configuration.CacheMode.REPL_SYNC, false));
- cache2 = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache(UnitTestCacheConfigurationFactory.createConfiguration(Configuration.CacheMode.REPL_SYNC, false));
+ cache1 = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache(UnitTestCacheConfigurationFactory.createConfiguration(Configuration.CacheMode.REPL_SYNC, false), false);
+ cache2 = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache(UnitTestCacheConfigurationFactory.createConfiguration(Configuration.CacheMode.REPL_SYNC, false), false);
cache1.getConfiguration().setUseLazyDeserialization(true);
cache2.getConfiguration().setUseLazyDeserialization(true);
+ cache1.start();
+ cache2.start();
assert TestingUtil.findInterceptor(cache1, MarshalledValueInterceptor.class) != null : "Marshalled value interceptor not in chain!";
assert TestingUtil.findInterceptor(cache2, MarshalledValueInterceptor.class) != null : "Marshalled value interceptor not in chain!";
Modified: core/trunk/src/test/java/org/jboss/cache/transaction/TransactionTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/transaction/TransactionTest.java 2008-02-06 16:23:32 UTC (rev 5317)
+++ core/trunk/src/test/java/org/jboss/cache/transaction/TransactionTest.java 2008-02-07 01:24:19 UTC (rev 5318)
@@ -631,7 +631,6 @@
cache.put("/a/b/c/3/a/b/c", null);
assertEquals(0, cache.getNumberOfLocksHeld());
- assertEquals(0, getLockTable(cache).size());
tx.begin();
cache.removeNode("/a/b/c");
@@ -652,7 +651,6 @@
cache.put("/a/b/c/3/a/b/c", null);
assertEquals(0, cache.getNumberOfLocksHeld());
- assertEquals(0, getLockTable(cache).size());
tx.begin();
cache.removeNode("/a/b/c");
16 years, 2 months