JBoss Cache SVN: r7258 - core/trunk/src/main/java/org/jboss/cache/interceptors.
by jbosscache-commits@lists.jboss.org
Author: genman
Date: 2008-12-05 19:33:01 -0500 (Fri, 05 Dec 2008)
New Revision: 7258
Modified:
core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
Log:
JBCACHE-1442 - Add "setData()" call
Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java 2008-12-06 00:30:40 UTC (rev 7257)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java 2008-12-06 00:33:01 UTC (rev 7258)
@@ -113,7 +113,7 @@
@Override
public Object visitPutDataMapCommand(InvocationContext ctx, PutDataMapCommand command) throws Throwable
{
- if (command.getFqn() != null)
+ if (command.getFqn() != null && !command.isErase())
{
loadIfNeeded(ctx, command.getFqn(), null, true, true, false, false, false, false, true);
}
16 years, 10 months
JBoss Cache SVN: r7257 - in core/trunk/src/main/java/org/jboss/cache: invocation and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: genman
Date: 2008-12-05 19:30:40 -0500 (Fri, 05 Dec 2008)
New Revision: 7257
Modified:
core/trunk/src/main/java/org/jboss/cache/Cache.java
core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java
Log:
JBCACHE-1442 - Add "setData()" call
Modified: core/trunk/src/main/java/org/jboss/cache/Cache.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/Cache.java 2008-12-06 00:27:51 UTC (rev 7256)
+++ core/trunk/src/main/java/org/jboss/cache/Cache.java 2008-12-06 00:30:40 UTC (rev 7257)
@@ -575,4 +575,30 @@
* @since 3.0
*/
void removeInterceptor(Class<? extends CommandInterceptor> interceptorType);
+
+ /**
+ * Sets all of the mappings from the specified map in a {@link Node}, replacing the
+ * existing data of that node, or creates a new node with the data.
+ * The operation is essentially the inverse of {@link #getData(Fqn)}.
+ * <p/>
+ * For caches that write to a cache loader, this operation is the most efficient,
+ * as the existing data need not be loaded to be merged.
+ *
+ * @param fqn <b><i>absolute</i></b> {@link Fqn} to the {@link Node} to set the data for
+ * @param data mappings to copy
+ * @throws IllegalStateException if the cache is not in a started state
+ * @since 3.1
+ */
+ void setData(Fqn fqn, Map<? extends K, ? extends V> data);
+
+ /**
+ * Convenience method that takes a string representation of an Fqn. Otherwise identical to {@link #replace(Fqn, java.util.Map)}
+ *
+ * @param fqn String representation of the Fqn
+ * @param data data map to insert
+ * @throws IllegalStateException if the cache is not in a started state
+ * @since 3.1
+ */
+ void setData(String fqn, Map<? extends K, ? extends V> data);
+
}
Modified: core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java 2008-12-06 00:27:51 UTC (rev 7256)
+++ core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java 2008-12-06 00:30:40 UTC (rev 7257)
@@ -520,10 +520,7 @@
public void put(Fqn fqn, Map<? extends K, ? extends V> data)
{
- InvocationContext ctx = invocationContextContainer.get();
- cacheStatusCheck(ctx);
- PutDataMapCommand command = commandsFactory.buildPutDataMapCommand(null, fqn, data);
- invoker.invoke(ctx, command);
+ invokePut(fqn, data, true);
}
public void put(String fqn, Map<? extends K, ? extends V> data)
@@ -660,4 +657,22 @@
throw new IllegalStateException("Cache not in STARTED state!");
}
}
+
+ private void invokePut(Fqn fqn, Map<? extends K, ? extends V> data, boolean erase) {
+ InvocationContext ctx = invocationContextContainer.get();
+ cacheStatusCheck(ctx);
+ PutDataMapCommand command = commandsFactory.buildPutDataMapCommand(null, fqn, data);
+ command.setErase(erase);
+ invoker.invoke(ctx, command);
+ }
+
+ public void setData(Fqn fqn, Map<? extends K, ? extends V> data)
+ {
+ invokePut(fqn, data, true);
+ }
+
+ public void setData(String fqn, Map<? extends K, ? extends V> data)
+ {
+ setData(Fqn.fromString(fqn), data);
+ }
}
16 years, 10 months
JBoss Cache SVN: r7256 - in core/trunk/src: test/java/org/jboss/cache/loader and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: genman
Date: 2008-12-05 19:27:51 -0500 (Fri, 05 Dec 2008)
New Revision: 7256
Added:
core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2.java
core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2Config.java
core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoader2Test.java
Modified:
core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoaderConfig.java
Log:
JBCACHE-1440 - Preliminary implementation; need to come up with some performance tests comparing this with the old
Added: core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2.java (rev 0)
+++ core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2.java 2008-12-06 00:27:51 UTC (rev 7256)
@@ -0,0 +1,248 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.cache.loader.jdbm;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import jdbm.helper.Tuple;
+import jdbm.helper.TupleBrowser;
+import net.jcip.annotations.ThreadSafe;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.cache.CacheException;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.Modification;
+import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+
+/**
+ * Optimized version of the {@link JdbmCacheLoader} implementation which is better
+ * for storing data under a single node. Speed is improved.
+ * <p/>
+ * Data is stored using an FQN to Map association, where the depth is prefixed to the FQN:
+ * <pre>
+ * 0/ = NodeData
+ * 1/node1 = Node Data
+ * 1/node2 = Node Data
+ * 2/node2/node3 = Node Data
+ * 2/node2/node4 = Node Data
+ * </pre>
+ * <p/>
+ * Browse operations lock the entire tree; eventually the JDBM team plans to fix this.
+ *
+ * @author Elias Ross
+ * @version $Id: JdbmCacheLoader.java 7086 2008-11-05 18:39:35Z genman $
+ */
+@ThreadSafe
+public class JdbmCacheLoader2 extends JdbmCacheLoader
+{
+ private static final Log log = LogFactory.getLog(JdbmCacheLoader2.class);
+ private static final boolean trace = log.isTraceEnabled();
+
+ /**
+ * Max number of dummy parent nodes to cache.
+ */
+ private static final int PARENT_CACHE_SIZE = 100;
+
+ /**
+ * Empty parent nodes whose existence is cached.
+ * Empty parents are required to ensure {@link #getChildrenNames(Fqn)}
+ * and recursive {@link #remove(Fqn)} work correctly.
+ */
+ private Set<Fqn> parents = Collections.synchronizedSet(new HashSet<Fqn>());
+
+ @Override
+ JdbmCacheLoader2Config createConfig(IndividualCacheLoaderConfig base)
+ {
+ return new JdbmCacheLoader2Config(base);
+ }
+
+ /**
+ * Adds a depth number to the start of the FQN.
+ */
+ private Fqn withDepth(Fqn name) {
+ return withDepth(name, name.size());
+ }
+
+ /**
+ * Adds a depth number to the start of the FQN.
+ */
+ private Fqn withDepth(Fqn name, int depth) {
+ Fqn n = Fqn.fromElements(depth);
+ return Fqn.fromRelativeList(n, name.peekElements());
+ }
+
+ @Override
+ Set<Object> getChildrenNames0(Fqn name) throws IOException
+ {
+ Fqn name2 = withDepth(name, name.size() + 1);
+ TupleBrowser browser = tree.browse(name2);
+ Tuple t = new Tuple();
+
+ Set<Object> set = new HashSet<Object>();
+
+ while (browser.getNext(t))
+ {
+ Fqn fqn = (Fqn) t.getKey();
+ if (!fqn.isChildOf(name2))
+ {
+ break;
+ }
+ set.add(fqn.getLastElement());
+ }
+
+ if (set.isEmpty())
+ {
+ return null;
+ }
+
+ return Collections.unmodifiableSet(set);
+ }
+
+ @Override
+ public Map get(Fqn name)
+ throws Exception
+ {
+ checkOpen();
+ checkNonNull(name, "name");
+
+ return (Map) tree.find(withDepth(name));
+ }
+
+ @Override
+ public boolean exists(Fqn name) throws IOException
+ {
+ return tree.find(withDepth(name)) != null;
+ }
+
+ @Override
+ Object put0(Fqn name, Object key, Object value) throws Exception
+ {
+ checkNonNull(name, "name");
+ ensureParent(name);
+ Fqn dname = withDepth(name);
+ Map map = (Map) tree.find(dname);
+ Object oldValue = null;
+ if (map != null) {
+ oldValue = map.put(key, value);
+ tree.insert(dname, map, true);
+ } else {
+ map = new HashMap();
+ map.put(key, value);
+ tree.insert(dname, map, false);
+ }
+ return oldValue;
+ }
+
+ @Override
+ void put0(Fqn name, Map<?, ?> values) throws IOException
+ {
+ if (trace)
+ {
+ log.trace("put " + name + " values=" + values);
+ }
+ ensureParent(name);
+ Fqn dname = withDepth(name);
+ if (values == null)
+ values = emptyMap();
+ else
+ values = new HashMap(values);
+ tree.insert(dname, values, true);
+ }
+
+ private Map emptyMap() {
+ return new HashMap(0);
+ }
+
+ /**
+ * Ensures a parent node exists.
+ * Calls recursively to initialize parents as necessary.
+ */
+ private void ensureParent(Fqn name) throws IOException
+ {
+ if (name.size() <= 1)
+ return;
+ Fqn parent = name.getParent();
+ if (parents.contains(parent))
+ return;
+ if (!exists(parent))
+ put0(parent, emptyMap());
+ parents.add(parent);
+ if (parents.size() > PARENT_CACHE_SIZE)
+ {
+ parents.clear();
+ }
+ }
+
+ @Override
+ void erase0(Fqn name, boolean prune)
+ throws IOException
+ {
+ if (trace)
+ {
+ log.trace("erase " + name + " prune=" + prune);
+ }
+ if (!prune) {
+ put0(name, emptyMap());
+ return;
+ }
+ Set children = getChildrenNames(name);
+ if (children != null)
+ {
+ log.trace("remove children: " + children);
+ for (Object child : children)
+ {
+ erase0(Fqn.fromRelativeElements(name, child), true);
+ }
+ }
+ parents.remove(name);
+ try
+ {
+ tree.remove(withDepth(name));
+ }
+ catch (IllegalArgumentException e)
+ {
+ log.trace("remove non-existant key? " + e);
+ }
+ }
+
+ @Override
+ Object eraseKey0(Fqn name, Object key)
+ throws IOException
+ {
+ Fqn dname = withDepth(name);
+ Map map = (Map) tree.find(dname);
+ Object oldValue = null;
+ if (map != null) {
+ oldValue = map.remove(key);
+ tree.insert(dname, map, true);
+ }
+ return oldValue;
+ }
+
+}
Added: core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2Config.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2Config.java (rev 0)
+++ core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader2Config.java 2008-12-06 00:27:51 UTC (rev 7256)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.cache.loader.jdbm;
+
+import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+
+/**
+ * Configuration for {@link JdbmCacheLoader2}.
+ *
+ * @author Elias Ross
+ */
+public class JdbmCacheLoader2Config extends JdbmCacheLoaderConfig
+{
+
+ private static final long serialVersionUID = 8905490360516820352L;
+
+ /**
+ * Constructs a new JdbmCacheLoader2Config.
+ */
+ public JdbmCacheLoader2Config()
+ {
+ super();
+ }
+
+ /**
+ * Constructs a new JdbmCacheLoader2Config.
+ */
+ public JdbmCacheLoader2Config(IndividualCacheLoaderConfig base)
+ {
+ super(base);
+ }
+
+ @Override
+ void setClassName()
+ {
+ setClassName(JdbmCacheLoader2.class.getName());
+ }
+
+}
\ No newline at end of file
Modified: core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoaderConfig.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoaderConfig.java 2008-12-06 00:03:37 UTC (rev 7255)
+++ core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoaderConfig.java 2008-12-06 00:27:51 UTC (rev 7256)
@@ -31,9 +31,14 @@
private static final long serialVersionUID = 4626734068542420865L;
private String location;
-
+
public JdbmCacheLoaderConfig()
{
+ setClassName();
+ }
+
+ void setClassName()
+ {
setClassName(JdbmCacheLoader.class.getName());
}
@@ -44,7 +49,7 @@
*/
JdbmCacheLoaderConfig(IndividualCacheLoaderConfig base)
{
- setClassName(JdbmCacheLoader.class.getName());
+ setClassName();
populateFromBaseConfig(base);
}
Added: core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoader2Test.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoader2Test.java (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoader2Test.java 2008-12-06 00:27:51 UTC (rev 7256)
@@ -0,0 +1,38 @@
+package org.jboss.cache.loader;
+
+import org.jboss.cache.CacheSPI;
+import org.jboss.cache.util.TestingUtil;
+import org.testng.annotations.Test;
+
+/**
+ * Tests {@link org.jboss.cache.loader.jdbm.JdbmCacheLoader2}.
+ *
+ * @author Elias Ross
+ * @version $Id: JdbmCacheLoaderTest.java 6905 2008-10-13 09:35:27Z dpospisi(a)redhat.com $
+ */
+@Test (groups = {"functional"})
+public class JdbmCacheLoader2Test extends CacheLoaderTestsBase
+{
+ @Override
+ protected void configureCache() throws Exception
+ {
+ CacheSPI<Object, Object> cache = cacheTL.get();
+ String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
+ String threadId = Thread.currentThread().getName();
+ String tmpCLLoc = tmpDir + "/JBossCache-JdbmCacheLoader2Test-" + threadId;
+ cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.jdbm.JdbmCacheLoader",
+ "location=" + tmpCLLoc, false, true, false));
+ TestingUtil.recursiveFileRemove(tmpCLLoc);
+ }
+
+ @Override
+ public void testCacheLoaderThreadSafety() throws Exception
+ {
+ }
+
+ @Override
+ public void testCacheLoaderThreadSafetyMultipleFqns() throws Exception
+ {
+ }
+
+}
16 years, 10 months
JBoss Cache SVN: r7255 - core/trunk/src/main/java/org/jboss/cache/loader/jdbm.
by jbosscache-commits@lists.jboss.org
Author: genman
Date: 2008-12-05 19:03:37 -0500 (Fri, 05 Dec 2008)
New Revision: 7255
Modified:
core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java
Log:
JBCACHE-1447 - Removing nodes when iterating ("browsing") causes browsing to not work properly. Also, exposing some methods as package-protected for JBCACHE-1440
Modified: core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java 2008-12-05 14:41:23 UTC (rev 7254)
+++ core/trunk/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java 2008-12-06 00:03:37 UTC (rev 7255)
@@ -40,6 +40,7 @@
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -89,8 +90,8 @@
private static final String NAME = "JdbmCacheLoader";
private JdbmCacheLoaderConfig config;
- private RecordManager recman;
- private BTree tree;
+ RecordManager recman;
+ BTree tree;
/*
* Service implementation -- lifecycle methods.
@@ -112,7 +113,7 @@
throws Exception
{
- log.trace("Starting JdbmCacheLoader instance.");
+ log.trace("Starting " + getClass().getSimpleName() + " instance.");
checkNotOpen();
checkNonNull(cache, "CacheSPI object is required");
@@ -236,12 +237,17 @@
}
else
{
- config = new JdbmCacheLoaderConfig(base);
+ config = createConfig(base);
}
if (trace) log.trace("Configuring cache loader with location = " + config.getLocation());
}
+ JdbmCacheLoaderConfig createConfig(IndividualCacheLoaderConfig base)
+ {
+ return new JdbmCacheLoaderConfig(base);
+ }
+
public IndividualCacheLoaderConfig getConfig()
{
return config;
@@ -281,7 +287,7 @@
* transaction is not recommended.
*/
public Set<?> getChildrenNames(Fqn name)
- throws Exception
+ throws IOException
{
if (trace)
@@ -295,7 +301,7 @@
}
}
- private Set<Object> getChildrenNames0(Fqn name) throws IOException
+ Set<Object> getChildrenNames0(Fqn name) throws IOException
{
TupleBrowser browser = tree.browse(name);
Tuple t = new Tuple();
@@ -398,7 +404,7 @@
return tree.find(name) != null;
}
- private void commit() throws Exception
+ void commit() throws IOException
{
recman.commit();
}
@@ -420,7 +426,7 @@
}
}
- private Object put0(Fqn name, Object key, Object value) throws Exception
+ Object put0(Fqn name, Object key, Object value) throws Exception
{
checkNonNull(name, "name");
makeNode(name);
@@ -445,7 +451,7 @@
commit();
}
- private void put0(Fqn name, Map<?, ?> values) throws Exception
+ void put0(Fqn name, Map<?, ?> values) throws Exception
{
if (trace)
{
@@ -501,39 +507,43 @@
erase0(name, true);
}
- private void erase0(Fqn name, boolean self)
+ void erase0(Fqn name, boolean self)
throws IOException
{
if (trace)
{
log.trace("erase " + name + " self=" + self);
}
+ List<Object> removeList = new ArrayList<Object>();
synchronized (tree)
{
TupleBrowser browser = tree.browse(name);
Tuple t = new Tuple();
- if (browser.getNext(t) && self)
- {
- tree.remove(t.getKey());
- }
-
+ boolean first = true;
while (browser.getNext(t))
{
+ if (first && !self)
+ {
+ first = false;
+ continue;
+ }
Fqn fqn = (Fqn) t.getKey();
- if (!fqn.isChildOf(name))
+ if (!fqn.isChildOrEquals(name))
{
break;
}
- tree.remove(fqn);
+ removeList.add(fqn);
}
}
+ for (Object o : removeList)
+ tree.remove(o);
}
/**
* Erase a FQN's key.
* Does not commit.
*/
- private Object eraseKey0(Fqn name, Object key)
+ Object eraseKey0(Fqn name, Object key)
throws IOException
{
if (trace)
@@ -605,7 +615,7 @@
* auto-commit in a transactional environment.
*/
public void remove(Fqn name)
- throws Exception
+ throws IOException
{
erase0(name);
commit();
@@ -642,7 +652,7 @@
/**
* Throws an exception if the environment is not open.
*/
- private void checkOpen()
+ void checkOpen()
{
if (tree == null)
{
@@ -654,7 +664,7 @@
/**
* Throws an exception if the environment is not open.
*/
- private void checkNotOpen()
+ protected void checkNotOpen()
{
if (tree != null)
{
@@ -666,7 +676,7 @@
/**
* Throws an exception if the parameter is null.
*/
- private void checkNonNull(Object param, String paramName)
+ protected void checkNonNull(Object param, String paramName)
{
if (param == null)
{
@@ -707,6 +717,13 @@
}
log.debug("");
}
+
+ /**
+ * Returns the number of database record nodes.
+ */
+ public int size() {
+ return tree.size();
+ }
@Override
public String toString()
16 years, 10 months
JBoss Cache SVN: r7254 - in core/trunk/src/test/java/org/jboss/cache: marshall and 3 other directories.
by jbosscache-commits@lists.jboss.org
Author: mircea.markus
Date: 2008-12-05 09:41:23 -0500 (Fri, 05 Dec 2008)
New Revision: 7254
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/AdjListJDBCCacheLoaderCompatibilityTest.java
core/trunk/src/test/java/org/jboss/cache/loader/C3p0ConnectionFactoryTest.java
core/trunk/src/test/java/org/jboss/cache/loader/DataSourceIntegrationTest.java
core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderConnectionTest.java
core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderDerbyDSTest.java
core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderStateTransferTest.java
core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java
core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToJDBCCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java
core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java
Log:
shutdown databases
Modified: core/trunk/src/test/java/org/jboss/cache/loader/AdjListJDBCCacheLoaderCompatibilityTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/AdjListJDBCCacheLoaderCompatibilityTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/AdjListJDBCCacheLoaderCompatibilityTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -31,7 +31,7 @@
* @author Mircea.Markus(a)iquestint.com
* @version 1.0
*/
-@Test(groups = {"functional"}, sequential = true, testName = "loader.AdjListJDBCCacheLoaderCompatibilityTest")
+@Test(groups = {"functional"}, testName = "loader.AdjListJDBCCacheLoaderCompatibilityTest")
@SuppressWarnings("deprecation")
public class AdjListJDBCCacheLoaderCompatibilityTest
{
@@ -72,6 +72,8 @@
TestingUtil.killCaches(cache, cache2);
cache = null;
cache2 = null;
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(oldImpl.getConfig().getProperties());
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(newImpl.getConfig().getProperties());
}
public void testCommonOperations() throws Exception
@@ -209,7 +211,7 @@
{
return TestDbPropertiesFactory.getTestDbProperties();
}
-
+
private JDBCCacheLoader getNewCacheLoader(Properties prop) throws Exception
{
String tablePkPrefix = prop.getProperty("cache.jdbc.table.primarykey", "jbosscache_pk");
Modified: core/trunk/src/test/java/org/jboss/cache/loader/C3p0ConnectionFactoryTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/C3p0ConnectionFactoryTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/C3p0ConnectionFactoryTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -40,6 +40,7 @@
public void tearDown() throws Exception
{
cf.stop();
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(config.getProperties());
}
public void testSetConfig() throws Exception
Modified: core/trunk/src/test/java/org/jboss/cache/loader/DataSourceIntegrationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/DataSourceIntegrationTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/DataSourceIntegrationTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -62,29 +62,37 @@
*/
public void testDataSourceIntegration() throws Exception
{
- Context context = new InitialContext();
+ Properties props = null;
try
{
+ Context context = new InitialContext();
+ try
+ {
Object obj = context.lookup(JNDI_NAME);
- assertNull(JNDI_NAME + " not bound", obj);
+ assertNull(JNDI_NAME + " not bound", obj);
+ }
+ catch (NameNotFoundException n)
+ {
+ // expected
+ }
+ props = TestDbPropertiesFactory.getTestDbProperties();
+ cache = (CacheSPI) new UnitTestCacheFactory<Object, Object>().createCache(false);
+ cache.getConfiguration().setCacheMode("local");
+ cache.getConfiguration().setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
+ cache.getConfiguration().setCacheLoaderConfig(getCacheLoaderConfig(props));
+ cache.create();
+
+
+ context.bind(JNDI_NAME, new MockDataSource(props));
+ assertNotNull(JNDI_NAME + " bound", context.lookup(JNDI_NAME));
+ cache.start();
+
+ assertNotNull("Cache has a cache loader", cache.getCacheLoaderManager().getCacheLoader());
}
- catch (NameNotFoundException n)
+ finally
{
- // expected
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
}
- Properties props = TestDbPropertiesFactory.getTestDbProperties();
- cache = (CacheSPI) new UnitTestCacheFactory<Object, Object>().createCache(false);
- cache.getConfiguration().setCacheMode("local");
- cache.getConfiguration().setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
- cache.getConfiguration().setCacheLoaderConfig(getCacheLoaderConfig(props));
- cache.create();
-
-
- context.bind(JNDI_NAME, new MockDataSource(props));
- assertNotNull(JNDI_NAME + " bound", context.lookup(JNDI_NAME));
- cache.start();
-
- assertNotNull("Cache has a cache loader", cache.getCacheLoaderManager().getCacheLoader());
}
@AfterMethod(alwaysRun = true)
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderConnectionTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderConnectionTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderConnectionTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -21,11 +21,12 @@
public class JDBCCacheLoaderConnectionTest extends AbstractCacheLoaderTestBase
{
private Cache cache;
+ private Properties props;
@BeforeMethod
public void setUp() throws Exception
{
- Properties props = TestDbPropertiesFactory.getTestDbProperties();
+ props = TestDbPropertiesFactory.getTestDbProperties();
cache = new UnitTestCacheFactory<Object, Object>().createCache(false);
cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", JDBCCacheLoader.class.getName(), props, false, false, true));
cache.start();
@@ -35,6 +36,7 @@
public void tearDown()
{
TestingUtil.killCaches(cache);
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
cache = null;
}
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderDerbyDSTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderDerbyDSTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderDerbyDSTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -18,6 +18,7 @@
import javax.naming.NameNotFoundException;
import java.util.Properties;
import org.jboss.cache.CacheSPI;
+import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.util.TestingUtil;
import org.jboss.cache.util.TestDbPropertiesFactory;
@@ -33,13 +34,14 @@
* @author <a href="hmesha(a)novell.com">Hany Mesha</a>
* @version <tt>$Revision$</tt>
*/
-@Test(groups = {"functional"}, sequential = true, testName = "loader.JDBCCacheLoaderDerbyDSTest")
-public class JDBCCacheLoaderDerbyDSTest
- extends CacheLoaderTestsBase
+@Test(groups = {"functional"}, testName = "loader.JDBCCacheLoaderDerbyDSTest")
+public class JDBCCacheLoaderDerbyDSTest extends CacheLoaderTestsBase
{
//private String old_factory = null;
private final String FACTORY = "org.jboss.cache.transaction.DummyContextFactory";
private final String JNDI_NAME = "java:/DerbyDS";
+ private Properties prop;
+ private EmbeddedXADataSource ds;
protected void configureCache() throws Exception
{
@@ -58,10 +60,10 @@
// expected
}
- Properties prop = TestDbPropertiesFactory.getTestDbProperties();
+ prop = TestDbPropertiesFactory.getTestDbProperties();
- EmbeddedXADataSource ds = new EmbeddedXADataSource();
- ds.setDatabaseName("jbossdb");
+ ds = new EmbeddedXADataSource();
+ ds.setDatabaseName(TestDbPropertiesFactory.getDatabaseName(prop));
ds.setCreateDatabase("create");
ds.setUser(prop.getProperty("cache.jdbc.user"));
ds.setPassword(prop.getProperty("cache.jdbc.password"));
@@ -72,9 +74,10 @@
"cache.jdbc.sql-concat= 1 || 2" + "\n" +
"cache.jdbc.table.name=jbosscache" + TestingUtil.getThreadId() + "\n" +
"cache.jdbc.table.primarykey=jbosscache_pk" + TestingUtil.getThreadId();
-
+
CacheSPI<Object, Object> cache = cacheTL.get();
- cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.JDBCCacheLoader", props, false, true, false));
+ CacheLoaderConfig config = getSingleCacheLoaderConfig("", "org.jboss.cache.loader.JDBCCacheLoader", props, false, true, false);
+ cache.getConfiguration().setCacheLoaderConfig(config);
cache.create();
@@ -82,6 +85,12 @@
assertNotNull(JNDI_NAME + " bound", context.lookup(JNDI_NAME));
}
+ protected void cleanup()
+ {
+ ds.setShutdownDatabase("shutdown");
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(prop);
+ }
+
public void testLargeObject()
{
CacheLoader loader = loaderTL.get();
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderStateTransferTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderStateTransferTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderStateTransferTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -51,6 +51,10 @@
{
if (first != null) first.stop();
if (second != null) second.stop();
+ Properties props = first.getCacheLoaderManager().getCacheLoaderConfig().getFirstCacheLoaderConfig().getProperties();
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
+ props = second.getCacheLoaderManager().getCacheLoaderConfig().getFirstCacheLoaderConfig().getProperties();
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
}
private Configuration getConfiguration() throws Exception
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -9,12 +9,14 @@
import org.jboss.cache.Fqn;
import static org.testng.AssertJUnit.*;
import org.testng.annotations.Test;
+import org.testng.annotations.AfterMethod;
import java.util.Properties;
import java.sql.DriverManager;
import org.jboss.cache.CacheSPI;
import org.jboss.cache.util.TestDbPropertiesFactory;
+import org.jboss.cache.util.TestingUtil;
/**
* This test runs cache loader tests using Database as the cache loader store.
@@ -55,22 +57,13 @@
return p.toString();
}
- protected void cleanup()
+ @AfterMethod(alwaysRun = true)
+ public void tearDown() throws Exception
{
+ CacheSPI<Object, Object> cache = cacheTL.get();
+ TestingUtil.killCaches(cache);
Properties props = cacheTL.get().getConfiguration().getCacheLoaderConfig().getIndividualCacheLoaderConfigs().get(0).getProperties();
- try
- {
- String shutDownConnection = TestDbPropertiesFactory.getShutdownUrl(props);
- System.out.println("shutDownConnection = " + shutDownConnection);
- DriverManager.getConnection(shutDownConnection);
- fail("Exception should be raised to confirm the DB is closed");
- //here is why: Important: The XJ015 error (successful shutdown of the Derby engine) and the 08006 error
- //(successful shutdown of a single database) are the *only exceptions thrown by Derby that might indicate that an operation succeeded*.
- }
- catch (Throwable e)
- {
- //expected
- }
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
}
private void append(String propertyName, Properties prop, StringBuilder builder)
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingJDBCTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -40,6 +40,8 @@
@Override public void tearDown() throws Exception
{
TestingUtil.killCaches(cache);
+ Properties props = cache.getConfiguration().getCacheLoaderConfig().getFirstCacheLoaderConfig().getProperties();
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
super.tearDown();
cache = null;
}
Modified: core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -77,7 +77,7 @@
c = new Configuration();
c.setClusterName("test");
- c.setStateRetrievalTimeout(1000);
+ c.setStateRetrievalTimeout(10000);
c.setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
c.setNodeLockingScheme(nodeLockingScheme);
c.setCacheMode(cacheMode);
Modified: core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -79,8 +79,6 @@
log.info("**** TEARING DOWN ****");
if (loader != null) loader.remove(Fqn.ROOT);
TestingUtil.killCaches(cache);
- cacheTL.set(null);
- loaderTL.set(null);
}
Modified: core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToJDBCCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToJDBCCacheLoaderTest.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToJDBCCacheLoaderTest.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -8,11 +8,14 @@
import java.util.Properties;
import org.jboss.cache.CacheSPI;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.loader.CacheLoader;
import static org.jboss.cache.factories.UnitTestCacheConfigurationFactory.*;
import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.util.TestingUtil;
import org.jboss.cache.util.TestDbPropertiesFactory;
import org.testng.annotations.Test;
+import org.testng.annotations.AfterMethod;
/**
* Tests passivation using JDBC Cache Loader.
@@ -24,7 +27,7 @@
@Test(groups = "functional", testName = "passivation.PassivationToJDBCCacheLoaderTest")
public class PassivationToJDBCCacheLoaderTest extends PassivationTestsBase
{
- protected String getJDBCProps()
+ private String getJDBCProps()
{
Properties prop = TestDbPropertiesFactory.getTestDbProperties();
return "cache.jdbc.driver =" + prop.getProperty("cache.jdbc.driver") + "\n" +
@@ -38,6 +41,19 @@
}
+ @AfterMethod(alwaysRun = true)
+ public void tearDown() throws Exception
+ {
+ CacheSPI<Object, Object> cache = cacheTL.get();
+ CacheLoader loader = loaderTL.get();
+ log.info("**** TEARING DOWN ****");
+ if (loader != null) loader.remove(Fqn.ROOT);
+ TestingUtil.killCaches(cache);
+ Properties props = loader.getConfig().getProperties();
+ TestDbPropertiesFactory.shutdownInMemoryDatabase(props);
+ }
+
+
protected void configureCache() throws Exception
{
CacheLoaderConfig loaderConfig = buildSingleCacheLoaderConfig(true, null, "org.jboss.cache.loader.JDBCCacheLoader",
Modified: core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -6,6 +6,8 @@
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.io.IOException;
+import java.io.File;
+import java.sql.DriverManager;
/**
* @author Mircea.Markus(a)jboss.com
@@ -18,7 +20,7 @@
static {
//so that all individual databases are created here
- System.setProperty("derby.system.home","derby");
+ System.setProperty("derby.system.home", TestingUtil.TEST_FILES);
try
{
realProps.load(TestDbPropertiesFactory.class.getClassLoader().getResourceAsStream("cache-jdbc.properties"));
@@ -37,8 +39,39 @@
}
}
- public static String getShutdownUrl(Properties props)
+ public static void shutdownInMemoryDatabase(Properties props)
{
+ try
+ {
+ String shutDownConnection = getShutdownUrl(props);
+ System.out.println("shutDownConnection = " + shutDownConnection);
+ DriverManager.getConnection(shutDownConnection);
+ assert false: "Exception should be raised to confirm the DB is closed";
+ //here is why: Important: The XJ015 error (successful shutdown of the Derby engine) and the 08006 error
+ //(successful shutdown of a single database) are the *only exceptions thrown by Derby that might indicate that an operation succeeded*.
+ }
+ catch (Throwable e)
+ {
+ //expected
+ }
+ //now delete the disk folder
+ String dbName = getDatabaseName(props);
+ String toDel = TestingUtil.TEST_FILES + File.separator + dbName;
+ TestingUtil.recursiveFileRemove(toDel);
+ System.out.println("Deleted file " + toDel);
+ }
+
+ public static String getDatabaseName(Properties prop)
+ {
+ //jdbc:derby:jbossdb;create=true
+ StringTokenizer tokenizer = new StringTokenizer(prop.getProperty("cache.jdbc.url"), ":;");
+ tokenizer.nextToken();
+ tokenizer.nextToken();
+ return tokenizer.nextToken();
+ }
+
+ private static String getShutdownUrl(Properties props)
+ {
String url = props.getProperty("cache.jdbc.url");
assert url != null;
//jdbc:derby:jbossdb;create=true
Modified: core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java 2008-12-04 16:20:46 UTC (rev 7253)
+++ core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java 2008-12-05 14:41:23 UTC (rev 7254)
@@ -42,7 +42,7 @@
{
private static Random random = new Random();
- public static final String TEST_FILES = "./testFiles";
+ public static final String TEST_FILES = "testFiles";
/**
* Holds unique mcast_port for each thread used for JGroups channel construction.
16 years, 10 months
JBoss Cache SVN: r7253 - in core/trunk/src/test/java/org/jboss/cache: util and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: mircea.markus
Date: 2008-12-04 11:20:46 -0500 (Thu, 04 Dec 2008)
New Revision: 7253
Modified:
core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java
Log:
shutdown derby database
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java 2008-12-04 15:36:15 UTC (rev 7252)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JDBCCacheLoaderTest.java 2008-12-04 16:20:46 UTC (rev 7253)
@@ -11,6 +11,7 @@
import org.testng.annotations.Test;
import java.util.Properties;
+import java.sql.DriverManager;
import org.jboss.cache.CacheSPI;
import org.jboss.cache.util.TestDbPropertiesFactory;
@@ -54,6 +55,24 @@
return p.toString();
}
+ protected void cleanup()
+ {
+ Properties props = cacheTL.get().getConfiguration().getCacheLoaderConfig().getIndividualCacheLoaderConfigs().get(0).getProperties();
+ try
+ {
+ String shutDownConnection = TestDbPropertiesFactory.getShutdownUrl(props);
+ System.out.println("shutDownConnection = " + shutDownConnection);
+ DriverManager.getConnection(shutDownConnection);
+ fail("Exception should be raised to confirm the DB is closed");
+ //here is why: Important: The XJ015 error (successful shutdown of the Derby engine) and the 08006 error
+ //(successful shutdown of a single database) are the *only exceptions thrown by Derby that might indicate that an operation succeeded*.
+ }
+ catch (Throwable e)
+ {
+ //expected
+ }
+ }
+
private void append(String propertyName, Properties prop, StringBuilder builder)
{
if (prop.containsKey(propertyName))
Modified: core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java 2008-12-04 15:36:15 UTC (rev 7252)
+++ core/trunk/src/test/java/org/jboss/cache/util/TestDbPropertiesFactory.java 2008-12-04 16:20:46 UTC (rev 7253)
@@ -1,6 +1,7 @@
package org.jboss.cache.util;
import java.util.Properties;
+import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
@@ -36,6 +37,17 @@
}
}
+ public static String getShutdownUrl(Properties props)
+ {
+ String url = props.getProperty("cache.jdbc.url");
+ assert url != null;
+ //jdbc:derby:jbossdb;create=true
+ StringTokenizer tokenizer = new StringTokenizer(url,";");
+ String result = tokenizer.nextToken() + ";" + "shutdown=true";
+ System.out.println("result = " + result);
+ return result;
+ }
+
private static Properties returnBasedOnDifferentInstance()
{
Properties toReturn = (Properties) realProps.clone();
16 years, 10 months
JBoss Cache SVN: r7252 - in core/trunk/src/test/java/org/jboss/cache: eviction and 5 other directories.
by jbosscache-commits@lists.jboss.org
Author: mircea.markus
Date: 2008-12-04 10:36:15 -0500 (Thu, 04 Dec 2008)
New Revision: 7252
Modified:
core/trunk/src/test/java/org/jboss/cache/UnitTestCacheFactory.java
core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java
core/trunk/src/test/java/org/jboss/cache/loader/AbstractCacheLoaderTestBase.java
core/trunk/src/test/java/org/jboss/cache/loader/BdbjeCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java
core/trunk/src/test/java/org/jboss/cache/loader/FileCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToBdbjeCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToFileCacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java
core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java
Log:
files are being created in the local dir now
Modified: core/trunk/src/test/java/org/jboss/cache/UnitTestCacheFactory.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/UnitTestCacheFactory.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/UnitTestCacheFactory.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -186,8 +186,7 @@
} catch (IOException e)
{
System.err.println("+++++++++++++++++++++++++++ Error : " + e.getMessage());
- log.error("+++++++++++++++++++++++++++ Error : " + e.getMessage());
- e.printStackTrace();
+ log.error("+++++++++++++++++++++++++++ Error : " + e.getMessage(), e);
}
}
Modified: core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -38,7 +38,7 @@
{
private Cache<Integer, String> cache;
private long wakeupIntervalMillis = 0;
- private String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
+ private String tmpDir = TestingUtil.TEST_FILES;
private String cacheLoaderDir = "JBossCacheFileCacheLoader";
@BeforeMethod(alwaysRun = true)
Modified: core/trunk/src/test/java/org/jboss/cache/loader/AbstractCacheLoaderTestBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/AbstractCacheLoaderTestBase.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/loader/AbstractCacheLoaderTestBase.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -20,7 +20,7 @@
* @author <a href="mailto:manik AT jboss DOT org">Manik Surtani (manik AT jboss DOT org)</a>
*/
-@Test(groups = "functional", testName = "loader.AbstractCacheLoaderTestBase")
+@Test(groups = "functional")
public abstract class AbstractCacheLoaderTestBase
{
protected final Log log = LogFactory.getLog(getClass());
Modified: core/trunk/src/test/java/org/jboss/cache/loader/BdbjeCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/BdbjeCacheLoaderTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/loader/BdbjeCacheLoaderTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -20,7 +20,7 @@
protected void configureCache() throws Exception
{
CacheSPI<Object, Object> cache = cacheTL.get();
- String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
+ String tmpDir = TestingUtil.TEST_FILES;
String threadId = Thread.currentThread().getName();
String tmpCLLoc = tmpDir + "/JBossCache-BdbjeCacheLoaderTest-" + threadId;
Modified: core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/loader/CacheLoaderTestsBase.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -42,7 +42,7 @@
* @author Bela Ban
* @version $Id$
*/
-@Test(groups = {"functional"}, sequential = true, testName = "loader.CacheLoaderTestsBase")
+@Test(groups = {"functional"})
abstract public class CacheLoaderTestsBase extends AbstractCacheLoaderTestBase
{
private static final Log log = LogFactory.getLog(CacheLoaderTestsBase.class);
Modified: core/trunk/src/test/java/org/jboss/cache/loader/FileCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/FileCacheLoaderTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/loader/FileCacheLoaderTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -12,9 +12,8 @@
protected void configureCache() throws Exception
{
CacheSPI<Object, Object> cache = cacheTL.get();
- String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
String threadId = Thread.currentThread().getName();
- String tmpCLLoc = tmpDir + "/JBossCache-FileCacheLoaderTest-" + threadId;
+ String tmpCLLoc = TestingUtil.TEST_FILES + "/JBossCache-FileCacheLoaderTest-" + threadId;
cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.FileCacheLoader", "location=" + tmpCLLoc, false, true, false));
TestingUtil.recursiveFileRemove(tmpCLLoc);
}
Modified: core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/loader/JdbmCacheLoaderTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -16,7 +16,7 @@
protected void configureCache() throws Exception
{
CacheSPI<Object, Object> cache = cacheTL.get();
- String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
+ String tmpDir = TestingUtil.TEST_FILES;
String threadId = Thread.currentThread().getName();
String tmpCLLoc = tmpDir + "/JBossCache-JdbmCacheLoaderTest-" + threadId;
cache.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.jdbm.JdbmCacheLoader", "location=" + tmpCLLoc, false, true, false));
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheLoaderMarshallingTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -33,7 +33,7 @@
@Test(groups = "functional", testName = "marshall.CacheLoaderMarshallingTest")
public class CacheLoaderMarshallingTest extends RegionBasedMarshallingTestBase
{
- private static final String tmpDir = System.getProperty("java.io.tmpdir") + File.separatorChar + "CacheLoaderMarshallingTest";
+ private static final String tmpDir = TestingUtil.TEST_FILES + File.separatorChar + "CacheLoaderMarshallingTest";
private Cache<Object, Object> cache;
private Fqn fqn = Fqn.fromString("/a");
Modified: core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToBdbjeCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToBdbjeCacheLoaderTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToBdbjeCacheLoaderTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -6,6 +6,7 @@
import java.io.File;
import java.io.FileFilter;
import org.jboss.cache.CacheSPI;
+import org.jboss.cache.util.TestingUtil;
/**
* Runs the same tests as {@link PassivationToFileCacheLoaderTest}, but with
@@ -17,7 +18,7 @@
@Test(groups = "functional", testName = "passivation.PassivationToBdbjeCacheLoaderTest")
public class PassivationToBdbjeCacheLoaderTest extends PassivationTestsBase
{
- private String tmp_location = System.getProperty("java.io.tmpdir", "c:\\tmp");
+ private String tmp_location = TestingUtil.TEST_FILES;
private File dir = new File(tmp_location);
public PassivationToBdbjeCacheLoaderTest()
@@ -52,7 +53,7 @@
}
}
- String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
+ String tmpDir = TestingUtil.TEST_FILES;
String threadId = Thread.currentThread().getName();
String tmpCLLoc = tmpDir + "/JBossCache-PassivationToBdbjeCacheLoaderTest-" + threadId;
Modified: core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToFileCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToFileCacheLoaderTest.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/passivation/PassivationToFileCacheLoaderTest.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -1,6 +1,7 @@
package org.jboss.cache.passivation;
import org.jboss.cache.CacheSPI;
+import org.jboss.cache.util.TestingUtil;
import static org.jboss.cache.factories.UnitTestCacheConfigurationFactory.buildSingleCacheLoaderConfig;
import org.testng.annotations.Test;
@@ -18,14 +19,14 @@
String tmpLocation = null;
String OS = System.getProperty("os.name").toLowerCase();
- if (OS.contains("win") || OS.contains("nt"))
- {
- tmpLocation = System.getProperty("java.io.tmpdir", "c:\\tmp");
- }
- else
- {
- tmpLocation = System.getProperty("jva.io.tmpdir", "/tmp");
- }
+// if (OS.contains("win") || OS.contains("nt"))
+// {
+// tmpLocation = TestingUtil.TEST_FILES;
+// }
+// else
+// {
+ tmpLocation = TestingUtil.TEST_FILES;
+// }
String threadId = Thread.currentThread().getName();
String tmpCLLoc = tmpLocation + "/JBossCache-PassivationToFileCacheLoaderTest-" + threadId;
Modified: core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -290,7 +290,7 @@
protected String getTempLocation(String cacheID)
{
- String tmp_location = System.getProperty("java.io.tmpdir", "c:\\tmp");
+ String tmp_location = TestingUtil.TEST_FILES;
File file = new File(tmp_location);
file = new File(file, cacheID);
return file.getAbsolutePath();
Modified: core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java 2008-12-03 16:38:27 UTC (rev 7251)
+++ core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java 2008-12-04 15:36:15 UTC (rev 7252)
@@ -41,6 +41,8 @@
public class TestingUtil
{
private static Random random = new Random();
+
+ public static final String TEST_FILES = "./testFiles";
/**
* Holds unique mcast_port for each thread used for JGroups channel construction.
16 years, 10 months
JBoss Cache SVN: r7251 - benchmarks/benchmark-fwk/trunk/cache-products/starobrno/lib.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-12-03 11:38:27 -0500 (Wed, 03 Dec 2008)
New Revision: 7251
Modified:
benchmarks/benchmark-fwk/trunk/cache-products/starobrno/lib/starobrno.jar
Log:
Modified: benchmarks/benchmark-fwk/trunk/cache-products/starobrno/lib/starobrno.jar
===================================================================
(Binary files differ)
16 years, 10 months
JBoss Cache SVN: r7250 - benchmarks/benchmark-fwk/trunk.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-12-03 11:38:13 -0500 (Wed, 03 Dec 2008)
New Revision: 7250
Added:
benchmarks/benchmark-fwk/trunk/runAllLocalRC.sh
Log:
Added: benchmarks/benchmark-fwk/trunk/runAllLocalRC.sh
===================================================================
--- benchmarks/benchmark-fwk/trunk/runAllLocalRC.sh (rev 0)
+++ benchmarks/benchmark-fwk/trunk/runAllLocalRC.sh 2008-12-03 16:38:13 UTC (rev 7250)
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# for jdk in java5 java6 java7 ; do
+source java5
+jdk=java5
+rm -rf ./output/*
+export PLAIN_JVM_OPTIONS="${JVM_OPTIONS} -DcacheBenchFwk.fwkCfgFile=cachebench-local.xml -Xms2g -Xmx2g -Xss128k"
+
+unset JVM_OPTIONS && export JVM_OPTIONS="${PLAIN_JVM_OPTIONS} -DcacheBenchFwk.productSuffix=.FLAT"
+./runLocalNode.sh starobrno mvcc-local-RC.xml
+
+unset JVM_OPTIONS && export JVM_OPTIONS="${PLAIN_JVM_OPTIONS} -DcacheBenchFwk.productSuffix=.TREE -Dstarobrno.tree=true"
+./runLocalNode.sh starobrno mvcc-local-RC.xml
+
+unset JVM_OPTIONS && export JVM_OPTIONS="${PLAIN_JVM_OPTIONS}"
+./runLocalNode.sh jbosscache-3.0.0 mvcc-local-RC.xml
+unset JVM_OPTIONS && export JVM_OPTIONS="${PLAIN_JVM_OPTIONS}"
+./runLocalNode.sh ehcache-1.5.0 ehcache-local.xml
+
+mkdir output
+mv data* ./output
+
+./generateChart.sh -reportDir output -o LocalMode-${jdk} -chartType putget
+
+# done
+
Property changes on: benchmarks/benchmark-fwk/trunk/runAllLocalRC.sh
___________________________________________________________________
Name: svn:executable
+ *
16 years, 10 months
JBoss Cache SVN: r7249 - benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-12-03 11:37:09 -0500 (Wed, 03 Dec 2008)
New Revision: 7249
Modified:
benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RC.xml
benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RR.xml
Log:
Modified: benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RC.xml
===================================================================
--- benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RC.xml 2008-12-03 16:36:57 UTC (rev 7248)
+++ benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RC.xml 2008-12-03 16:37:09 UTC (rev 7249)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:starobrno-core:config:1.0">
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="10000" nodeLockingScheme="mvcc"
- concurrencyLevel="300"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="600000" nodeLockingScheme="mvcc"
+ concurrencyLevel="3000" lockParentForChildInsertRemove="true"/>
<transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"/>
<stateRetrieval timeout="20000" fetchInMemoryState="false"/>
<transport clusterName="JBossCache-Cluster"/>
Modified: benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RR.xml
===================================================================
--- benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RR.xml 2008-12-03 16:36:57 UTC (rev 7248)
+++ benchmarks/benchmark-fwk/trunk/cache-products/starobrno/conf/mvcc-local-RR.xml 2008-12-03 16:37:09 UTC (rev 7249)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:starobrno-core:config:1.0">
- <locking isolationLevel="REPEATABLE_READ" lockAcquisitionTimeout="10000" nodeLockingScheme="mvcc"
- concurrencyLevel="300"/>
+ <locking isolationLevel="REPEATABLE_READ" lockAcquisitionTimeout="600000" nodeLockingScheme="mvcc"
+ concurrencyLevel="3000" lockParentForChildInsertRemove="true"/>
<transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"/>
<stateRetrieval timeout="20000" fetchInMemoryState="false"/>
<transport clusterName="JBossCache-Cluster"/>
16 years, 10 months