You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2006/01/05 17:38:14 UTC
svn commit: r366214 - in
/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query:
sql/JCRSQLQueryBuilder.java xpath/XPathQueryBuilder.java
Author: mreutegg
Date: Thu Jan 5 08:38:08 2006
New Revision: 366214
URL: http://svn.apache.org/viewcvs?rev=366214&view=rev
Log:
Memory leak in query parsers.
See: http://thread.gmane.org/gmane.comp.apache.jackrabbit.devel/5026
Modified:
incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/sql/JCRSQLQueryBuilder.java
incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java
Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/sql/JCRSQLQueryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/sql/JCRSQLQueryBuilder.java?rev=366214&r1=366213&r2=366214&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/sql/JCRSQLQueryBuilder.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/sql/JCRSQLQueryBuilder.java Thu Jan 5 08:38:08 2006
@@ -35,6 +35,7 @@
import org.apache.jackrabbit.name.UnknownPrefixException;
import org.apache.jackrabbit.util.ISO8601;
import org.apache.log4j.Logger;
+import org.apache.commons.collections.map.ReferenceMap;
import javax.jcr.query.InvalidQueryException;
import java.text.SimpleDateFormat;
@@ -46,7 +47,6 @@
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Map;
-import java.util.WeakHashMap;
import java.io.StringReader;
/**
@@ -68,7 +68,7 @@
/**
* Map of reusable JCRSQL parser instances indexed by NamespaceResolver.
*/
- private static Map parsers = new WeakHashMap();
+ private static Map parsers = new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK);
/**
Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java?rev=366214&r1=366213&r2=366214&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java Thu Jan 5 08:38:08 2006
@@ -38,6 +38,7 @@
import org.apache.jackrabbit.name.UnknownPrefixException;
import org.apache.jackrabbit.util.ISO8601;
import org.apache.jackrabbit.util.ISO9075;
+import org.apache.commons.collections.map.ReferenceMap;
import javax.jcr.query.InvalidQueryException;
import java.io.StringReader;
@@ -45,7 +46,6 @@
import java.util.Calendar;
import java.util.List;
import java.util.Map;
-import java.util.WeakHashMap;
/**
* Query builder that translates a XPath statement into a query tree structure.
@@ -195,7 +195,7 @@
/**
* Map of reusable XPath parser instances indexed by NamespaceResolver.
*/
- private static Map parsers = new WeakHashMap();
+ private static Map parsers = new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK);
/**
* The root <code>QueryNode</code>