You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by al...@apache.org on 2007/06/05 14:08:22 UTC
svn commit: r544461 -
/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/crypt/ClassCryptFactory.java
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;