Author: almaw Date: Tue Jun 5 05:08:21 2007 New Revision: 544461 URL: http://svn.apache.org/viewvc?view=rev&rev=544461 Log: Weak references for factory, so we can be garbage collected on redeploy.
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java?view=diff&rev=544461&r1=544460&r2=544461 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java Tue Jun 5 05:08:21 2007 @@ -16,6 +16,8 @@ */ package org.apache.wicket.util.crypt; +import java.lang.ref.WeakReference; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,7 +31,7 @@ public class ClassCryptFactory implements ICryptFactory { private static final Logger log = LoggerFactory.getLogger(ClassCryptFactory.class); - private Class cryptClass; + private WeakReference/*<Class>*/ cryptClass; private String encryptionKey; /** @@ -52,7 +54,7 @@ throw new IllegalArgumentException("cryptClass must implement ICrypt interface"); } - this.cryptClass = cryptClass; + this.cryptClass = new WeakReference(cryptClass); this.encryptionKey=encryptionKey; } @@ -63,7 +65,7 @@ { try { - ICrypt crypt = (ICrypt)cryptClass.newInstance(); + ICrypt crypt = (ICrypt)((Class)cryptClass.get()).newInstance(); log.info("using encryption/decryption object " + crypt); crypt.setKey(encryptionKey); return crypt;