Anonymous avatar Anonymous committed 222e699

Fix possible memory leaks due to class specified in threadlocals
XW-560

git-svn-id: http://svn.opensymphony.com/svn/xwork/trunk@1622 e221344d-f017-0410-9bd5-d282ab1896d7

Comments (0)

Files changed (1)

src/java/com/opensymphony/xwork2/inject/ContainerImpl.java

     return factoryNamesByType.get(type);
   }
 
-  ThreadLocal<InternalContext[]> localContext =
-      new ThreadLocal<InternalContext[]>() {
+  ThreadLocal<Object[]> localContext =
+      new ThreadLocal<Object[]>() {
         protected InternalContext[] initialValue() {
           return new InternalContext[1];
         }
    * necessary.
    */
   <T> T callInContext(ContextualCallable<T> callable) {
-    InternalContext[] reference = localContext.get();
+    InternalContext[] reference = (InternalContext[])localContext.get();
     if (reference[0] == null) {
       reference[0] = new InternalContext(this);
       try {
     return constructors.get(implementation);
   }
 
-  final ThreadLocal<Scope.Strategy> localScopeStrategy =
-      new ThreadLocal<Scope.Strategy>();
+  final ThreadLocal<Object> localScopeStrategy =
+      new ThreadLocal<Object>();
 
   public void setScopeStrategy(Scope.Strategy scopeStrategy) {
     this.localScopeStrategy.set(scopeStrategy);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.