You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/06/12 13:24:02 UTC

svn commit: r1602126 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java

Author: rmannibucau
Date: Thu Jun 12 11:24:01 2014
New Revision: 1602126

URL: http://svn.apache.org/r1602126
Log:
making stateful cache filter not an anonymous class

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java?rev=1602126&r1=1602125&r2=1602126&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java Thu Jun 12 11:24:01 2014
@@ -74,6 +74,7 @@ import javax.naming.NamingException;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.transaction.Transaction;
+import java.io.Serializable;
 import java.lang.reflect.Method;
 import java.rmi.NoSuchObjectException;
 import java.rmi.RemoteException;
@@ -283,12 +284,7 @@ public class StatefulContainer implement
         beanContext.setContainerData(null);
 
         if (!containsExtendedPersistenceContext(beanContext)) {
-            cache.removeAll(new CacheFilter<Instance>() {
-                @Override
-                public boolean matches(final Instance instance) {
-                    return beanContext == instance.beanContext;
-                }
-            });
+            cache.removeAll(new BeanContextFilter(beanContext.getId()));
         }
     }
 
@@ -1234,4 +1230,17 @@ public class StatefulContainer implement
         }
 
     }
+
+    public static class BeanContextFilter implements CacheFilter<Instance>, Serializable {
+        private final String id;
+
+        public BeanContextFilter(final String id) {
+            this.id = id;
+        }
+
+        @Override
+        public boolean matches(final Instance instance) {
+            return instance.beanContext.getId().equals(id);
+        }
+    }
 }