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;


Reply via email to