Author: nfilotto
Date: 2010-01-12 08:30:30 -0500 (Tue, 12 Jan 2010)
New Revision: 1363
Modified:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/IndexerCacheLoader.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractWriteOnlyCacheLoader.java
Log:
EXOJCR-325: Remove the data from the Cache indexer once the data has been indexed to
prevent memory leak
Modified:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/IndexerCacheLoader.java
===================================================================
---
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/IndexerCacheLoader.java 2010-01-12
13:16:32 UTC (rev 1362)
+++
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/IndexerCacheLoader.java 2010-01-12
13:30:30 UTC (rev 1363)
@@ -90,8 +90,16 @@
}
// updating index
ChangesFilterListsWrapper wrapper = (ChangesFilterListsWrapper)value;
- updateIndex(wrapper.getAddedNodes(), wrapper.getRemovedNodes(),
wrapper.getParentAddedNodes(), wrapper
- .getParentRemovedNodes());
+ try
+ {
+ updateIndex(wrapper.getAddedNodes(), wrapper.getRemovedNodes(),
wrapper.getParentAddedNodes(), wrapper
+ .getParentRemovedNodes());
+ }
+ finally
+ {
+ // remove the data from the cache
+ cache.removeNode(name);
+ }
}
return null;
}
@@ -99,11 +107,9 @@
/**
* @see
org.exoplatform.services.jcr.impl.storage.jbosscache.AbstractWriteOnlyCacheLoader#put(org.jboss.cache.Fqn,
java.util.Map)
*/
- @Override
public void put(Fqn arg0, Map<Object, Object> arg1) throws Exception
{
// ignoring call cacheRoot.addChild(PARAMETER_ROOT).setResident(true);
-
}
/**
@@ -116,6 +122,14 @@
}
/**
+ * @see org.jboss.cache.loader.CacheLoader#remove(org.jboss.cache.Fqn)
+ */
+ public void remove(Fqn arg0) throws Exception
+ {
+ // do nothing
+ }
+
+ /**
* Switches Indexer mode from RO to RW, or from RW to RO
*
* @param ioMode
@@ -199,5 +213,4 @@
}
}
}
-
}
Modified:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractWriteOnlyCacheLoader.java
===================================================================
---
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractWriteOnlyCacheLoader.java 2010-01-12
13:16:32 UTC (rev 1362)
+++
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractWriteOnlyCacheLoader.java 2010-01-12
13:30:30 UTC (rev 1363)
@@ -83,22 +83,6 @@
/**
* {@inheritDoc}
*/
- public void put(Fqn arg0, Map<Object, Object> arg1) throws Exception
- {
- throw new WriteOnlyCacheLoaderException("The method 'put(Fqn arg0,
Map<Object, Object> arg1))' should not be called.");
- }
-
- /**
- * {@inheritDoc}
- */
- public void remove(Fqn arg0) throws Exception
- {
- throw new WriteOnlyCacheLoaderException("The method 'remove(Fqn arg0)'
should not be called.");
- }
-
- /**
- * {@inheritDoc}
- */
public Object remove(Fqn arg0, Object arg1) throws Exception
{
throw new WriteOnlyCacheLoaderException("The method 'remove(Fqn arg0,
Object arg1)' should not be called.");