modules/core/plugin-container/src/main/java/org/rhq/core/pc/PluginContainer.java | 16
+++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
New commits:
commit 69c6da3af5ef3a12988836d5a11b5b09e459075c
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Jul 23 11:00:46 2010 -0400
BZ 615377 workaround sun bug
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6727821
diff --git
a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/PluginContainer.java
b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/PluginContainer.java
index d6546a2..c9c1d54 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/PluginContainer.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/PluginContainer.java
@@ -31,6 +31,8 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import javax.security.auth.login.Configuration;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -114,6 +116,11 @@ public class PluginContainer implements ContainerService {
}
private PluginContainer() {
+ // for why we need to do this, see
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6727821
+ try {
+ Configuration.getConfiguration();
+ } catch (Throwable t) {
+ }
}
/**
@@ -337,6 +344,13 @@ public class PluginContainer implements ContainerService {
private void cleanMemory() {
Introspector.flushCaches();
LogFactory.releaseAll();
+
+ // for why we need to do this, see
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6727821
+ try {
+ Configuration.setConfiguration(null);
+ } catch (Throwable t) {
+ }
+
System.gc();
}
@@ -563,4 +577,4 @@ public class PluginContainer implements ContainerService {
public boolean isInsideAgent() {
return (this.configuration != null &&
this.configuration.isInsideAgent());
}
-}
\ No newline at end of file
+}