Author: ssmiweve Date: 2007-10-30 12:23:29 +0100 (Tue, 30 Oct 2007) New Revision: 5855
Modified: trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java Log: SEARCH-3625 - Better GC Behaviour Modified: trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java =================================================================== --- trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java 2007-10-30 09:47:16 UTC (rev 5854) +++ trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java 2007-10-30 11:23:29 UTC (rev 5855) @@ -112,7 +112,7 @@ // log weakCache size every 100 increments if(weakCache.size() % 100 == 0){ LOG.info(INFO_WEAK_CACHE_SIZE_1 + clause.getClass().getSimpleName() - + INFO_WEAK_CACHE_SIZE_1 + weakCache.size()); + + INFO_WEAK_CACHE_SIZE_2 + weakCache.size()); } } @@ -127,6 +127,7 @@ * Also holds state information about the current term/clause we are finding predicates against. * @param predicates2check the complete list of predicates that could apply * to the current clause we are finding predicates for. + * @return */ protected static final boolean findPredicates( final TokenEvaluationEngine engine, @@ -236,18 +237,17 @@ /** [EMAIL PROTECTED] */ + @Override public String toString() { return getClass().getSimpleName() + "[" + getTerm() + "]"; } + private static final class WeakClauseReference<T> extends WeakReference<T>{ + private Map<String,WeakReference<T>> weakCache; + private String key; - private static final class WeakClauseReference<T> extends WeakReference{ - - private final Map<String,WeakReference<T>> weakCache; - private final String key; - WeakClauseReference( final String key, final T clause, @@ -258,9 +258,12 @@ this.weakCache = weakCache; } + @Override public void clear() { // clear the hashmap entry too! weakCache.remove(key); + weakCache = null; + key = null; // clear the referent super.clear(); } _______________________________________________ Kernel-commits mailing list Kernel-commits@sesat.no http://sesat.no/mailman/listinfo/kernel-commits